中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

将各个执行机添加至Jenkins集群

  • 由于Jenkins的版本不一致,可能会导致Jenkins环境中的界面、配置参数与以下操作步骤中的内容不一致,请用户根据实际Jenkins环境进行凭证设置和工作节点设置。
  • 若Jenkins环境中无凭据管理,需要安装“Credentials Binding”插件进行后续操作。

该章节仅供参考。

凭证设置

  1. 添加凭据域。单击左侧树“Manage Jenkins > Credentials”,打开“Credentials”页面,在“System”右侧下拉列表中单击“Add domain”
    图1 添加凭据域1
  2. 请根据实际需求填写域名和描述信息,域名和描述信息便于识别和管理。单击“Create”进行添加。
    图2 添加凭据域2
  3. 返回到“Credentials”页面,添加凭据到凭据域下。在凭据域右侧下拉列表中单击“Add credentials”,将凭据添加到当前凭据域下。
    图3 添加凭据

    在DevKit凭据域下添加AArch64 Jenkins工作节点SSH凭据。

    1. 在安装了Jenkins的环境上生成工作节点SSH免密登录证书,请根据实际需求设置SSH Key Passphrase。
      ssh-keygen -b 4096 -C "<邮件地址或其他标签>" -f ~/.ssh/id_ed25519_<推荐按照 *_*_*_* 格式填写目标服务器IP地址,便于管理KEY> -t ed25519
    2. 在安装了Jenkins的环境上将生成的证书的公钥上传至目标服务器,请根据提示输入目标服务器对应的用户名和密码。
      ssh-copy-id -i ~/.ssh/id_ed25519_<推荐按照 *_*_*_* 格式填写目标服务器IP地址,便于管理KEY>.pub root@<目标服务器IP地址>
    3. 删除已知主机名文件中属于指定主机名的所有密钥。
      ssh-keygen -R <目标服务器IP地址>
    4. 使用SSH Key测试连接目标主机,若已设置SSH Key Passphrase,请在连接目标主机时根据提示输入证书密码。
      ssh -o IdentitiesOnly=yes -o PasswordAuthentication=no -i ~/.ssh/id_ed25519_<推荐按照 *_*_*_* 格式填写目标服务器IP地址,便于管理KEY> -l root -p 22 <目标服务器IP地址>
    5. 查看SSH Key密钥。
      cat ~/.ssh/id_ed25519_<推荐按照 *_*_*_* 格式填写目标服务器IP地址,便于管理KEY>
    图4 工作节点SSH凭据
    • Description:用于描述当前工作节点信息。
    • Username:填写用户名。
    • Key:填写的是通过SSH Key免密连接目标主机的私钥。
    • Passphrase:若SSH Key设置了Passphrase,则需要填写。

    所有选项请根据实际情况进行填写。

工作节点设置

  1. 添加工作节点。单击左侧树“Manage Jenkins > Nodes”,打开“Nodes”页面,在页面右上角单击“+New Node”
    图5 工作节点设置1
  2. 打开“New node”页面,填写节点名称并选择节点类型。单击“Create”创建新的工作节点。
    图6 工作节点设置2

    固定节点是指添加一个普通、固定的节点到Jenkins。

  3. 自动跳转打开“Configure”页面,进行工作节点配置。详细配置参数说明如表1所示。
    图7 工作节点设置3
    图8 工作节点设置4

    工作节点配置完成后,请检查节点连接状态,若节点连接失败,请参见Jenkins工作节点连接失败的解决办法进行处理。

    表1 工作节点配置参数说明

    配置项

    配置说明

    Name

    与节点名称保持一致。

    Description

    按需填写描述信息,便于管理标识和即可。

    例如:aarch64node(IP地址)(openeuler22.03)。

    Number of executors

    默认为1。

    Remote root directory

    远程工作目录。

    例如:/home/JenkinsWorkspace/。

    Labels

    填写标签,流水线脚本中根据标签来选取执行机,可以打多个标签,用空格隔开。此处填写的标签后续要与Jenkins脚本中的标签保持一致。

    例如:“kunpeng_scanner kunpeng_java_builder_jdk17 kunpeng_c_builder_gcc kunpeng_compatibility”

    Usage

    对当前工作节点进行用法描述。可选择:

    • Use this node as much as possible
    • Only build jobs with label expression matching this node

    Launch method

    选择当前工作节点的启动方式。可选择:

    • Docker variant of Launch agents via SSH with SSH key injection
    • Launch agent via execution of command on the controller
    • Launch agents via SSH
    • Launch agent via Java Web Start
    说明:

    选择不同的启动方式,需要配置不同的参数,请根据实际需求进行配置。默认只有“Launch agent via execution of command on the controller”启动方式,如需选择其他启动方式,请安装对应的插件。

    Availability

    工作节点可用性。可选择:

    • Keep this agent online as much as possible
    • Bring this agent online according to a schedule
    • Bring this agent online when in demand, and take offine when idle

    节点属性

    节点属性可选:

    • Disk Space Monitoring Thresholds
    • Environment variable
    • Tool Location