docker集群不再啰嗦,主要说下怎么在swarm集群下跑jenkins,然后配置多个agent
一:部署jenkins,使用compose文件

jenins-compose.yaml
 version: ‘3’services:
 jenkins:
 image: jenkins/jenkins
 environment:
 - TZ=Asia/Shanghai
 ports:
 - “8080:8080”
 - “50000:50000”
 volumes:
 - /var/lib/docker/jenkin_home:/var/jenkins_home
 - /var/run/docker.sock:/var/run/docker.sock
 extra_hosts:
 - “gitlab.cdel.local:192.168.190.2”
 deploy:
 replicas: 1
 placement:
 constraints: [node.hostname == swarmMaster65.cdel.com]
 networks:
 default:
 external:
 name: cdel

docker安装的jenkins 出现script.sh: 1: docker: not found jenkins docker swarm_jenkins


注释:extra_hosts相当于绑定的hosts,我这里git没做解析,连接git仓库需要使用(能解析到 可以不用绑定hosts)

node.hostname 后面是node节点名(想要在哪台服务器上跑jenkins),如果挂载的存储,就不用指定节点

部署:docker stack deploy -c jenins-compose.yaml xxx (随便起个服务名,我用的是jenkins)

docker stack deploy -c jenins-compose.yaml jenkins

然后就可以看到:

docker安装的jenkins 出现script.sh: 1: docker: not found jenkins docker swarm_docker_02


然后访问 http://IP:8080 把你想要的插件安装上:

系统管理—插件管理

Maven项目配置:
系统管理—系统设置—Usage:
选择:只允许运行绑定到这台机器的job(因为docker里面有些命令不支持,我们把所有构建放到agent)

Java环境配置:

系统管理—全局工具配置:

docker安装的jenkins 出现script.sh: 1: docker: not found jenkins docker swarm_JAVA_03


docker安装的jenkins 出现script.sh: 1: docker: not found jenkins docker swarm_JAVA_04

docker安装的jenkins 出现script.sh: 1: docker: not found jenkins docker swarm_系统管理_05

注释:JAVA_HOME 警告信息忽略,因为我们构建是在agent上的
下面开始添加Agent:
由于agent需要认证,所有我们需要先添加凭据:

docker安装的jenkins 出现script.sh: 1: docker: not found jenkins docker swarm_jenkins_06


docker安装的jenkins 出现script.sh: 1: docker: not found jenkins docker swarm_JAVA_07


docker安装的jenkins 出现script.sh: 1: docker: not found jenkins docker swarm_docker_08


docker安装的jenkins 出现script.sh: 1: docker: not found jenkins docker swarm_docker-swarm_09


docker安装的jenkins 出现script.sh: 1: docker: not found jenkins docker swarm_JAVA_10


docker安装的jenkins 出现script.sh: 1: docker: not found jenkins docker swarm_系统管理_11


把私钥放进XXX,公钥放在agent所在服务器的home目录的.ssh下authorized_keys文件内,确定即可

接下来创建agent:

系统管理—节点管理:

docker安装的jenkins 出现script.sh: 1: docker: not found jenkins docker swarm_docker_12


docker安装的jenkins 出现script.sh: 1: docker: not found jenkins docker swarm_系统管理_13


填入agent的ip,选择刚才配置好的凭据,save

注释:JAVA_HOME 需要在agent上配置,也就是/usr/local/java 是我们的JDK目录,没有的话无法构建。

有问题可以留言哦