Jenkins添加Ubuntu代理节点
原理如下, Jenkins通过ip连接ubuntu,ubuntu使用SSH验证连接,另外Jenkins通过java在Ubuntu上相应操作控制该代理节点,所以关键点在于
一、原理
原理如下, Jenkins通过ip连接ubuntu,ubuntu使用SSH验证连接,另外Jenkins通过java在Ubuntu上相应操作控制该代理节点,所以关键点在于
- SSH在Jenkins和Ubuntu上的配置
- Ubuntu配置Java

面就看看在Jenkins和Ubuntu上具体需要设置的内容
二、Ubuntu设置
Ubuntu设置包括两个方面的内容
- SSH连接访问
- Java安装
SSH访问设置参考我的这篇文章,我们只需要在Ubuntu上配置好SSH Server即可,使用SSH访问Ubuntu服务器
Java安装过程也很简单,直接下载安装openjdk即可,不需要配置JAVA_HOME变量和加到PATH变量中
安装jdk
# 安装 jdk11
apt install openjdk-11-jdk
记住java可执行文件路径
usr/lib/jvm/java-11-openjdk-amd64
三、Jenkins设置
安装相关插件,我怕麻烦直接安装所有与SSH相关的插件

配置节点相关信息
- 远程工作目录:ubuntu上的工作目录,这个目录必须真实存在,若无则新建
- 标签:代理节点的标签
- 启动方式:通过SSH启动
- 主机:Ubuntu的ip地址
- 凭证:后面会讲到
- 验证方式: 选择
Non verifying Verification Strategy,不需要在known_hosts文件中添加ubuntu相关的东西

配置凭证
- 类型:
SSH Username with private key,这种方式会使用ubuntu的用户名和ssh私钥登录 - usernama: ubuntu的用户名,也就是这个名字存在于Ubuntu登录用户里,不能随意起
- Private Key:私钥内容, 复制ubuntu的公钥对应私钥
id_rsa中内容

指定Java可执行文件路径,连接后Jenkins使用Java命令就会往Ubunt的工作目录里面拷贝remoting.jar等相关包,达到控制代理节点的目的
- Java路径:ubutnu上java可执行文件路几名

连接效果如下


四、参考资料
Keep moving 😐
https://support.cloudbees.com/hc/en-us/articles/115000073552-host-key-verification-for-ssh-agents
https://www.codenong.com/cs106177716/
https://www.shuzhiduo.com/A/A2dmgX9AJe/