警告

您正在阅读的 ROS 2 文档版本已达到 EOL(生命周期结束),不再受官方支持。如果您想了解最新信息,请访问 Jazzy.

如何设置 Linux Jenkins 节点

本页介绍如何使用 AWS 为 ROS 2 CI 作业设置 Linux 机器。

创建 AWS 实例

简而言之,使用公司的 AWS 账户启动一个基于官方 Ubuntu 16.04 AMI 的实例。

  • AMI: Ubuntu 16.04

  • 地区: N.加利福尼亚州 US-WEST-1A

  • 类型 c4.large

  • 存储: EBS 1TB

  • 安全小组: ROS 2 詹金斯 建设 机器

  • 钥匙对 创建一个新的配对,并使用一个描述性的名称,如 ci_ros2_linux_4

    • 确保与其他凭据一起保存,以便其他人可以访问这台机器

给实例起一个描述性的名称,如 ROS 2 CI ( linux 4).记录 IP 地址 这里 (私人)。

安装机器

简而言之,确保 jenkins 主节点可以通过 ssh 进入新节点并运行 docker。

  1. 使用配对密钥登录新节点

    • ssh -i ci_ros2_linux_4.pem ubuntu@IPADDRESS

  2. 运行以下命令

    苏都 适切 更新 sudo 适切 安装 -y git sudo 适切 安装 -y openjdk-8-jre-headless sudo 敲击 -c 'echo "deb http://repositories.ros.org/ubuntu/testing/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list';
    苏都 敲击 -c 'curl --silent https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc |sudo apt-key add -';
    苏都 适切 更新 sudo 适切 安装 -y python-vcstool curl -fsSL https://get.docker.com/ | sh 添加用户 --禁用密码 jenkins sudo 篡改 -aG 装卸工 jenkins sudo 服务 装卸工 启动
    
  3. 确保 jenkins 用户可以运行 docker

    苏都 su jenkins docker 运行 你好世界
    
  4. 作为 jenkins 用户,将主密钥的公钥添加到 授权密钥

    1. 用 SSH 登录 jenkins 主服务器,获取公钥的内容(可能在 /var/lib/jenkins/.ssh/id_rsa.pub 或 jenkins 用户的主目录中)

    2. 通过 SSH 登录新的从属设备,并将该密钥添加到授权密钥列表 .. code-block:: bash

      # 在新的从属设备上 cd /home/jenkins/ mkdir .ssh chmod 700 .ssh touch .ssh/authorized_keys chmod 600 .ssh/authorized_keys # 将 jenkins 主设备上的 id_rsa.pub 粘贴到该文件中 vim .ssh/authorized_keys

将其添加到主文件

  1. https://ci.ros2.org/computer/

    • 执行人数量: 1

    • 远程根目录: /home/jenkins

    • 标签 linux

    • 发射方式 通过 ssh 启动从属代理

      • 主持人 新节点的 IP 地址

      • 证书 詹金斯

      • 主机密钥验证策略: 手动 只要 密钥 验证 策略

        • SSH 密钥 粘贴 /etc/ssh/ssh_host_rsa_key.pub 从这里的新节点。

      • 节点属性:

        • 检查 通知 节点 在线 地位 变化 并将电子邮件设置为 ros2 buildfarm google 群组。

  2. 在新节点上启动代理