Jenkins 踩坑 (二) | 管理、配置、运行 Node 节点与 Slave 分布式运行

157 阅读2分钟

图片

霍格沃兹测试学院 TestingStudio

1、总览

  • Jenkins的任务可以分布在不同的节点上运行

  • 节点上需要配置Java运行环境,Java_Version >1.5

  • 节点支持WindowsLinuxMac

  • Jenkins运行的主机在逻辑上是master节点

  • master节点的名字必须叫master,而slave节点的名字可以随便取。

    图片

霍格沃兹测试学院 TestingStudio

2、配置远程节点

2.1 前提条件

  • 配置远程节点,首先要保证有远程的节点,无论是虚拟机或者是实体机

  • 新的节点要与 Jenkins Server 保持连接畅通

  • slave 支持远程运行,例如 ssh、jnlp

  • Jenkins 需要从 git 上获取项目,因此 slave 也需要与 git 建立联系

1)以 GitHub 账号为例,先创建公钥私钥,命令`ssh-keygen -t rsa -C "xxxx@qq.com"`
![图片](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/8f27e379803e451caddc05e41cd44437~tplv-k3u1fbpfcp-zoom-1.image)

  


![图片](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/f5ea7605cd424a64bca7bc6321cb613d~tplv-k3u1fbpfcp-zoom-1.image)

2)打开`GitHub->setting->SSH and GPG keys`,新建一个`SSH key`,输入公钥`id_ras.pub`中的内容。

![图片](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/75e66c3c690548bdae4b83b3aa69abbe~tplv-k3u1fbpfcp-zoom-1.image)

3)使用`ssh git@github.com` 尝试连接 GitHub,建立信任关系。

![图片](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ee42b6c60a23416284f6df348d99a0a9~tplv-k3u1fbpfcp-zoom-1.image)
  • Java 环境 (我用的是jdk1.8)

  • maven 环境

2.2 登录方式

  • 远程用户名密码
  • 公钥私钥认证

2.3 配置位置

“系统管理” -> “管理节点”

图片

3、节点创建

3.1 节点连接

1)在 master 机器上选择新建节点。

图片

2)先以账号密码登录方式做演示:

图片

3)保存后刷新状态,可以看到节点已经配置成功。

图片

霍格沃兹测试学院 TestingStudio

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 源

以上,欢迎大家一起交流探讨。

霍格沃兹测试学院 TestingStudio