admin管理员组文章数量:1642335
一. 通信协议
为了master和agent能够正常通信,连接的建立必须是双向的。
- SSH: master通过标准的SSH协议连接slave。
- Java Web Start: Java 应用在agent 主机上启动,Master和agent通过TCP建立连接。 这种方法往往是在agnet在防火墙内部,master不能发起连接的情况下使用。
- Windows service: 这种方法是注册 agnet在远端主机上作为一个服务。该方法设置比较繁琐,且需要图形接口的支持。
二. 设置 agent
关联slaves到master的不同方式:
- 静态和动态对比:静态添加slave比较简单。但缺点就是假如需要更多或者更少的slave nodes的话,我们还需要手工修改。一个最好的方式就是动态的添加。
- 指定和通用目的:就是对某个agent去做某些特定的功能或者一个agent可以构建所有的任务。
三. 常 用的四种配置方法
- Permanent agents
- Permanent Docker agents
- Jenkins Swarm agents
- Dynamically provisioned Docker agents
1. permanent agents
依次点击【Manage Jenkins】--【Manage Nodes】—【New Node】,如下图
持久agent的缺点就是需要针对不同项目类型维护多个slave 类型。解决方案如下图所示:
2. Permanent Docker agents
这个解决方案的理想方法是永久的添加常规目的的slaves. 每个slave都有相同的配置。
这种方法就是在构建时在管道中指定需要的docker image.
pipeline {
agent {
docker {
image 'openjdk:8-jdk-alpine'
}
}
...
}
解决方案如下图所示:
3. Jenkins Swarm agents
以上的添加在往往需要扩容大量的salve 主机时比较麻烦。Jenkins swarm允许去动态的添加slave(不需要在jenkins master中配置它们)
(1)在Jenkins中安装【Self-Organizing Swarm Plug-in Modules】插件
。
(2)运行Jenkins Swarm slave应用在要扮演Jenkins slave的所有主机上。 使用swarm-client.jar应用。下载地址:https://wiki.jenkins-ci/display/JENKINS/Swarm+Plugin.
$ java -jar swarm-client.jar -master <jenkins_master_url> -username <jenkins_master_user> -password <jenkins_master_password> -name jenkins-swarm-slave-1
(3)在成功运行命令后,应该出现如下图所示:
4. 通过Docker agent动态的提供。
其它的办法就是在每次构建开始时,jenkins去动态的创建一个新的agent.根据构建工作的数量动态的调整slave的数量。
配置步骤:
(1)安装Docker插件
(2)打开【Manage Jenkins】。
(3)点击【Configure System】链接。
(4)点击添加新的云,选择Docker.
(5)添加Docker 模板
转载于:https://wwwblogs/zangxueyuan/p/9207739.html
版权声明:本文标题:Jenkins配置agent 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1729338085a1197244.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论