准备工作
- 插件安装
- SSH Build Agents,允许使用 SSH 协议的 Java 实现通过 SSH 启动代理。
- Jenkins master 节点机器
- Jenkins slave 从节点机器
开始配置
1、进入 Jenkins 设置页面,找到节点管理,并进入
2、在左侧导航栏点击新建节点(New Node),输入节点名称,选择固定节点,OK 即可。
Tips:如果已有节点可以选择第二项复制节点,然后重命名即可,配置基本都差不多,这样会方便点。
3、在节点配置页面自定义项
- Name:节点名称(自定义,为了便于区分,推荐操作系统+机器唯一标识)
- Description:节点描述
- Number of executors:执行器数量,根据机器性能而定,一般 4 就可以啦
- Remote root directory:远程工作目录地址,填写从节点的 jenkins 工作目录(下面会说到)
- Labels:给从节点打上标签,暂时没有用到
- Usage:使用方式有两种,根据需求自行选择
- Use this node as much as possible:尽量使用这个节点
- Only build jobs with label expressions matching this node:仅在项目中指定节点与此匹配才会使用
为了方便观看,截图更清晰明了一点。
基础配置已经完成,接下来是主从节点连接的配置
先保存配置,上面的 公钥 还没有呢,先去生成一个。
4、登录 jenkin 服务器,生成密钥
$ ssh-keygen
Generating public/private rsa key pair.
Your identification has been saved in /var/jenkins_home/.ssh/id_rsa.
Your public key has been saved in /var/jenkins_home/.ssh/id_rsa.pub.
...
生成成功后,需要把公钥推送到从节点机器上,私钥配置在 Jenkins(也就是主节点)上,这样就可以连接了。
# 在 jenkins 机器上执行命令,复制公钥到从节点机器上,并重命名为 authorized_keys
$ scp /var/jenkins_home/.ssh/id_rsa.pub lan@192.168.xx.xx:~/.ssh/authorized_keys
# 查看私钥并复制一下
$ cat /var/jenkins_home/.ssh/id_rsa
# 切换到从节点机器上执行命令,给公钥增加可执行权限
$ chmod 700 /Users/lan/.ssh/authorized_keys
如果你的从节点是 mac 电脑,无法连接成功,那么请参考这篇 文章。
5、回到 Jenkins 配置从节点的页面,添加密钥
页面下方还有一些配置(从节点环境变量、本地工具可以支持 allure 报告等等),就根据需求自己配置,到这一步从节点已经可以连接成功了。
6、点击保存,这一步千万别忘了… 查看 nodes 列表。
如果还是有问题,可以在节点的 Log 模块,查看详细的报错日志,再去进一步解决。