Jenkins 集群配置

Nov 28, 2023

今天做了个 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)

集群配置配置步骤:

  1. Manage Jenkins » Manage Nodes and Clouds » New node (name,Permanent Agent)
  2. Launch method 选项 Launch agents via SSH
    A. 该选项不存在: 安装插件 SSH Agent PluginSSH 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...
  3. 如果集群安装成功,则配置每个 job 的时候,会多一个选项 Restrict where this project can be run.
  4. 默认还是使用的 jenkins 所在的主机进行构建,这时候需要在 job的配置选择 Execute concurrent builds if necessary 允许并发构建,同时点击多次构建会在不同的主机上同时进行构建。
<完>