在Jenkins服务器中:
1 转到“管理 Jenkins”->“管理节点”:
2 然后点击New Node
按钮:
3 配置代理名称,选择“永久代理”,点击“确定”按钮:
4 创建新节点后,我们必须配置节点设置。
使用代理上的用户允许写入的路径填写“远程根目录”,使用代理的主机名设置“主机”值,然后按“凭据”的“添加”按钮:
5 选择SSH Username with private key
选项,Username
值填写代理机器上的用户账号,在我们的例子中是jenkins
,然后选择Private Key
->直接输入
并粘贴密钥从操作系统剪贴板中,并为此凭据提供一个“ID”和一个有用的“描述”。
最后点击“添加”按钮。
6 在Host Key Verification Strategy
菜单中选择bananaally trusted key Verification Strategy
值,点击save
按钮。
7 新节点现在应该出现在节点列表中。
我们可能会注意到节点图标上有一个红色的 X。
这表明它尚未连接。
等待几秒刷新页面,红色的X就会消失,说明节点连接成功。
在代理机器上:
1-安装必要的包
我们需要在代理节点上安装一些软件包,例如 Java,使用以下命令安装 openjdk
:
# sudo yum install java-1.8.0-openjdk
2- 在 Jenkins 使用的代理上创建一个用户
现在我们需要在代理上创建一个用户。
Jenkins master 将以此用户身份登录代理,所有构建作业都将以此用户身份执行。
新用户将被称为 jenkins
,以 /var/lib/jenkins
作为主目录:
# sudo useradd -d /var/lib/jenkins jenkins # passwd jenkins
3- 生成 ssh 密钥
接下来,我们需要生成一个 ssh 密钥。
Jenkins 将使用此密钥向代理节点进行身份验证并以 jenkins
用户身份登录。
该密钥几乎可以在任何 Linux 机器上生成,但我们也可以在代理节点本身上生成并将其复制到新的代理节点:
# su - jenkins # ssh-keygen -t rsa -C "Jenkins agent key" Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /var/lib/jenkins/.ssh/id_rsa. Your public key has been saved in /var/lib/jenkins/.ssh/id_rsa.pub. The key fingerprint is: SHA256:5qJWiPnvv+Gozm8iP+Ered03HgLJW2eyW0tzA5r1YYU jenkins ssh slaves The key's randomart image is: +---[RSA 2048]----+ | | | . | | E . | | . . . | | o .+ S = o | | o o .* O + . | | + +o.B = + | | +.B.o+.*o= . | | BBX=.=+o. | +----[SHA256]-----+
将公共 SSH 密钥 id_rsa.pub
添加到 authorized_keys
文件列表中,如下所示:
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys # chmod 600 ~/.ssh/authorized_keys
将私有 SSH 密钥 ~/.ssh/id_rsa
从代理机器复制到操作系统剪贴板。
SSH 私钥应该类似于:
# cat ~/.ssh/id_rsa -----BEGIN RSA PRIVATE KEY---- ................................... ................................... ................................... -----END RSA PRIVATE KEY----
准备工作
在继续本教程之前,请确保我们以具有“sudo”权限的用户身份登录。
Jenkins 是一个开源的、基于 Java 的自动化服务器,它提供了一种设置持续集成和持续交付 (CI/CD) 管道的简单方法。
持续集成 (CI) 是每次团队成员提交对版本控制的更改时自动构建和测试代码的过程。
持续交付 (CD) 是从构建到生产环境的构建、测试、配置和部署过程。
本教程演示了添加 linux Jenkins 代理节点的步骤,本教程假设我们已经安装了 Jenkins 服务器。