Jenkins 踩坑 (二) | 管理、配置、运行 Node 节点与 Slave 分布式运行
原创 月关 4月19日
本文为霍格沃兹测试学院优秀学员 Jekins 学习踩坑笔记。测试开发技能进阶,文末加群。
1、总览
-
Jenkins
的任务可以分布在不同的节点上运行 - 节点上需要配置
Java
运行环境,Java_Version >1.5 - 节点支持
Windows
、Linux
、Mac
-
Jenkins
运行的主机在逻辑上是master
节点 -
master
节点的名字必须叫master
,而slave
节点的名字可以随便取。
2、配置远程节点
2.1 前提条件
- 配置远程节点,首先要保证有远程的节点,无论是虚拟机或者是实体机
- 新的节点要与 Jenkins Server 保持连接畅通
- slave 支持远程运行,例如 ssh、jnlp
- Jenkins 需要从 git 上获取项目,因此 slave 也需要与 git 建立联系1)以 GitHub 账号为例,先创建公钥私钥,命令
ssh-keygen -t rsa -C "xxxx@qq.com"
2)打开 GitHub->setting->SSH and GPG keys
,新建一个 SSH key
,输入公钥 id_ras.pub
中的内容。
3)使用 ssh git@github.com
尝试连接 GitHub,建立信任关系。
- Java 环境 (我用的是jdk1.8)
- maven 环境
2.2 登录方式
- 远程用户名密码
- 公钥私钥认证
2.3 配置位置
“系统管理” -> “管理节点”
3、节点创建
3.1 节点连接
1)在 master 机器上选择新建节点。
2)先以账号密码登录方式做演示:
3)保存后刷新状态,可以看到节点已经配置成功。
3.2 节点运行
1)在 job 中勾选"限制项目的运行节点",然后选择 slave 节点的标签保存。
2)构建后在控制台输出中就可以看到任务是由 slave 构建的。
4、闭坑
第一次连接slave时可能会连接失败,出现报错:
/var/jenkins_home/.ssh/known_hosts [SSH] No Known Hosts file was found at /var/jenkins_home/.ssh/known_hosts. Please ensure one is created at this path and that Jenkins can read it.
这是因为 master 和 slave 直接没有建立信任联系,解决方法如下:
1)在节点配饰的启动方式中,选择“手动信任”。
2)保存启动后会在web页面的左下方有个 手动信任的选项
(这里忘记截图了,比较懒,就不重新设置演示了,知道这个方法就好~),点进去选择 是
就 OK 了,这样就建立了信任联系,后面在启动时就畅通无阻了。
5、总结
- Jenkins 节点配置方法
- 节点上配通 GitHub
- 节点上配通 Java 和 Maven
- 提速 - 替换 Maven 源
以上,欢迎大家一起交流探讨。