Window/linux(docker) 单台宿主机部署多个Jenkins节点
Window/linux(docker) 单台宿主机部署多个Jenkins节点
- 在使用Jenkins过程中,增加了手动输入的步骤,会阻塞节点运行任务;
- 由于资源有限,需要在一台机器挂载了很多Jenkins节点;
- Jenkins节点选择java方式运行;
- Windows10
- Docker
- Apline Linux
- OpenJdk11
- 创建Jenkins节点时选择“通过Java Web启动代理”
- 完成后启动方式为命令,命令如下(Windows和linux只有路径区别):
- Windows启动命令如下:
- java -jar agent.jar -jnlpUrl http://192.168.0.1:8080/compu... -secret 1234567890abcdefg -workDir "F:\Jenkins_nodes\XuXiaoCong-Windows"
- Linux启动命令如下:
- java -jar agent.jar -jnlpUrl http://192.168.0.1:8080/compu... -secret 1234567890abcdefg -workDir "/var/jenkins"
- 由于需要挂载很多节点,使用.bat批处理文件需要启动多个界面
- 下载agent.jar,在Jenkins节点界面agent.jar是个下载链接,点击下载
- 为每个节点创建一个批处理命令,命名为'<节点名称>.bat'
- 将节点启动命令写入"java -jar agent.jar -jnlpUrl "
- 将批处理命令与agent.jar放在同一文件夹
- 双击启动,会打开一个CMD窗口(请勿关闭,否则节点下线)
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)部署多个节点
- 制作docker镜像
- 镜像生成容器
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-s...
https://wiki.alpinelinux.org/...
https://www.cnblogs.com/jacka...
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- Linux下面如何查看tomcat已经使用多少线程
- Beego打包部署到Linux
- Linux|109 个实用 shell 脚本
- linux定时任务contab
- 芯灵思SinlinxA33开发板Linux内核定时器编程
- docker镜像探索----dive工具
- day16-Linux|day16-Linux 软件管理
- 如何在阿里云linux上部署java项目
- Caffe在Windows10下CPU版本的安装(cpu+anaconda3+vs2013+pycaffe)