1987WEB视界-分享互联网热门产品和行业

您现在的位置是:首页 > WEB开发 > 正文

WEB开发

Window—linux(docker)单台宿主机部署多个Jenkins节点

1987web2023-10-06WEB开发120
Window/linux(docker)单台宿主机部署多个Jenkins节点

Window/linux(docker) 单台宿主机部署多个Jenkins节点

  • 在使用Jenkins过程中,增加了手动输入的步骤,会阻塞节点运行任务;
  • 由于资源有限,需要在一台机器挂载了很多Jenkins节点;
  • Jenkins节点选择java方式运行;

环境:

  • Windows10
  • Docker
  • Apline Linux
  • OpenJdk11

前置条件

Window部署多个节点

  1. 由于需要挂载很多节点,使用.bat批处理文件需要启动多个界面
  2. 下载agent.jar,在Jenkins节点界面agent.jar是个下载链接,点击下载
  3. 为每个节点创建一个批处理命令,命名为<节点名称>.bat
  4. 将节点启动命令写入"java -jar agent.jar -jnlpUrl**"
  5. 将批处理命令与agent.jar放在同一文件夹
  6. 双击启动,会打开一个CMD窗口(请勿关闭,否则节点下线)

例子:XuXiaoCong-Windows.bat

java -jar agent.jar -jnlpUrl http://192.168.0.1:8080/computer/XuXiaoCong-Windows/jenkins-agent.jnlp -secret 1234567890abcdefg -workDir "F:\Jenkins_nodes\XuXiaoCong-Windows"

linux(docker)部署多个节点

  1. 制作docker镜像
  2. 镜像生成容器
FROM alpine
WORKDIR /jenkins
 apk镜像
RUN sed -i s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g /etc/apk/repositories
 添加curl,git,openjdk11
RUN apk add --no-cache curl
RUN apk add --no-cache git
RUN apk add --no-cache openjdk11
​
 添加其他运行环境(这里以Python为例)
RUN apk add --no-cache build-base
RUN apk add --no-cache python3
RUN apk add --no-cache python3-dev
RUN apk add --no-cache py3-pip
​
 Jenkins页面上的agen.jar路径(右键复制链接)
RUN curl -o agent.jar http://192.168.0.1:8080/jnlpJars/agent.jar
​
 执行该节点(语句从Jenkins节点界面上复制)(只执行一条CMD,其余注释)
​
 XuXiaoCong-Linux节点
CMD java -jar agent.jar -jnlpUrl http://192.168.0.1:8080/computer/XuXiaoCong-Linux/jenkins-agent.jnlp -secret 1234567890abcdefg -workDir "/var/jenkins"
 docker build -t jenkins-node-xuxiaocong-linux .
 docker run -d --restart=always --name=jenkins-node-xuxiaocong-linux jenkins-node-xuxiaocong-linux
​
 XuXiaoCong-Linux-1节点
 CMD java -jar agent.jar -jnlpUrl http://192.168.0.1:8080/computer/XuXiaoCong-Linux-1/jenkins-agent.jnlp -secret 1234567890abcdefg -workDir "/var/jenkins"
 docker build -t jenkins-node-xuxiaocong-linux-1 .
 docker run -d --restart=always --name=jenkins-node-xuxiaocong-linux-1 jenkins-node-xuxiaocong-linux-1
  • Windows中制作镜像
cd <文件所在路径>
docker build -t jenkins-node-<节点名称> .
  • 生成容器
docker run -d --restart=always --name=jenkins-node-<节点名称> jenkins-node-<节点名称>

参考文档:

https://docs.docker.com/get-startedhttps://wiki.alpinelinux.org/wiki/Main_Pagehttps://cnblogs.com/jackadam/p/9290366.html