docker-swarm下jenkins(多个agent)

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-swarm下jenkins(多个agent)_第1张图片
注释: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
然后就可以看到:
在这里插入图片描述
然后访问 http://IP:8080
把你想要的插件安装上:
系统管理—插件管理

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

Java环境配置:
系统管理—全局工具配置:
docker-swarm下jenkins(多个agent)_第2张图片
docker-swarm下jenkins(多个agent)_第3张图片

docker-swarm下jenkins(多个agent)_第4张图片

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

docker-swarm下jenkins(多个agent)_第5张图片
docker-swarm下jenkins(多个agent)_第6张图片
docker-swarm下jenkins(多个agent)_第7张图片
docker-swarm下jenkins(多个agent)_第8张图片
docker-swarm下jenkins(多个agent)_第9张图片
docker-swarm下jenkins(多个agent)_第10张图片
把私钥放进XXX,公钥放在agent所在服务器的home目录的.ssh下authorized_keys文件内,确定即可
接下来创建agent:
系统管理—节点管理:
docker-swarm下jenkins(多个agent)_第11张图片
docker-swarm下jenkins(多个agent)_第12张图片
填入agent的ip,选择刚才配置好的凭据,save
注释:JAVA_HOME 需要在agent上配置,也就是/usr/local/java 是我们的JDK目录,没有的话无法构建。
有问题可以留言哦

你可能感兴趣的:(jenkins)