今天做了个 jenkins 集群配置。碰的问题多多啊。jenkins 集群只需要一个服务器安装 jenkins 就好了. 其他服务器 jenkins 自动通过 ssh 登录去运行,基础环境还是必须的,例如:java 必须安装,如果必要 git,maven 也同样需要, 如果是手动指定的安装目录,所有机器的安装目录应该相同.(不同可以 ln -s
一个)
我的环境:两台服务器 Serve1
, Serve2
,
Server1 中使用 podman 跑Jenkins 2.346.3(当时java1.8可用的最高版本),
Server2 中podman 跑 JDK11(自己安装的openssh-server,版本是 eclipse-temurin:11-jdk-jammy)
集群配置配置步骤:
Manage Jenkins
»Manage Nodes and Clouds
»New node
(name,Permanent Agent)Launch method
选项Launch agents via SSH
A. 该选项不存在: 安装插件SSH Agent Plugin
和SSH Build Agents
B. 我Jenkins版本太低导致不可用,还无法卸载差距,只能手动删文件,根据插件信息下载适合的版本,然后删除插件文件和文件夹(默认 /var/jenkins_home/plugin) ssh-slaves,ssh-agent 对应的文件和文件夹。
C. 注意重启 jenkins
D. 手动上传对应版本的 插件,我的SSH Build Agents v-1.834…, 默认是 2.xxxx 的。
E. 配置SSH 出错Key exchange was not finished, connection is closed.
, 选择Host Key Verification Strategy
选项:Non...
- 如果集群安装成功,则配置每个 job 的时候,会多一个选项
Restrict where this project can be run
. - 默认还是使用的 jenkins 所在的主机进行构建,这时候需要在 job的配置选择
Execute concurrent builds if necessary
允许并发构建,同时点击多次构建会在不同的主机上同时进行构建。