警告

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

如何设置 macOS Jenkins 节点

安装 macOS Mojave

安装:APFS 区分大小写 安装后无 Siri、无定位服务、无云服务、无分析、无 filevault 磁盘加密。

为远程访问设置 SSH/VNC

确保密码不要太长。这会导致 VNC 验证以奇怪的方式失败。特别是,VNC 验证将密码限制为 8 个字符。

  • 转到Apple->系统偏好设置->共享

    • 设置合理的主机名

    • 勾选 "远程登录"

    • 选中 "屏幕共享

  • 将终端添加到 dock

  • 转到Apple->系统偏好设置->节能器

    • 将睡眠设置为从不

    • 全选

  • 转到苹果->安全

    • 单击锁定解锁

    • "允许来自应用程序商店和经过验证的开发者的应用程序"

    • 取消选中 "5 分钟后要求输入密码 "框

    • 取消选中 "禁用自动登录"

主机设置

安装 XCode 工具

$ xcode 遴选 --安装

为 Jenkins 安装 JDK。最简单的方法是键入 java 在终端让 Apple 链接到 Oracle 的 JDK 下载。我安装了最新的 JDK 8(暂时没有安装 Java 9)。

按照以下说明安装 Homebrew https://brew.sh

安装 ssh-askpass 通过 homebrew

$  自来水 theseal/ssh-askpass $  安装 ssh-askpass

创建 ~/.bash_profile 就这一句话:

. ~/.bashrc

创建 ~/.bashrc 一行:

出口 ROS_DOMAIN_ID=XXX  # 其中 XXX 选自本文件

设置虚拟的 git 名称

$ 笨蛋 配置 --全球 用户电子邮件 "[email protected]";
$ 笨蛋 配置 --全球 user.name "HOSTNAME";

安装 ROS 2 依赖项

按照以下步骤安装 我们的安装说明.

包括

  • 酿造包

  • pip 软件包

  • 可选的 RTI Connext 和 OpenSplice 软件包

  • 除了下载源代码和构建 ROS 2 之外的所有操作(除非您想这样做是为了测试设置)

RQt 依赖关系

  • 安装 啜饮 pyqt5

  • 在安装过程中查找 sip 文件时,修正了一些路径名(请参阅 ROS 1 维基百科):

    ln -s /usr/local/share/sip/Qt5 /usr/local/share/sip/PyQt5

  • 安装 图形化

  • python3 -m 核心 安装 pygraphviz

  • 链接 --强制 qt

    这是最快的解决方案,但在升级 Qt 或其他软件包期待 Qt 4 时可能会出现问题。 路径cmake_prefix_path 包括 Qt 安装位置:

    $ 出口 路径=";$( --前缀 qt)/bin:$PATH";
    $ 出口 cmake_prefix_path=";$( --前缀 qt):$cmake_prefix_path";
    

RTI Connext 具体说明

  • 开放机器人技术许可证在这里(私有仓库): https://github.com/osrf/rticonnextdds-src/blob/license/rti_license.dat

  • 打开 RTI 启动程序

    • 在 RTI 启动器中,打开文件对话框选择许可证文件。

    • 为所有用户安装。

    • 单击 "安装 "选项卡

    • 单击 RTI 软件包安装程序

  • 导航至 connext 提取目录(通常类似于 /Applications/rti_...

    • 选择 rti_security rtipkg (无需使用 openssl,我们使用系统 openssl)。

  • 设置共享内存参数 https://community.rti.com/kb/osx510

    • 先别急着重启。

  • 下载 openssl-1.0.2n-target-x64Darwin17clang9.0.tar.gz 使用 RTI 账户从 RTI 网站提取。

卷烟 -xzvf openssl-1.0.2n-target-x64Darwin17clang9.0.tar.gz
  • 添加指向 RTI openssl 库路径的环境变量。

出口 rti_openssl_bin=/Users/osrf/openssl-1.0.2n/x64Darwin17clang9.0/release/bin
出口 rti_openssl_libs=/Users/osrf/openssl-1.0.2n/x64Darwin17clang9.0/release/lib

设置 Jenkins 工作区和代理

$ mkdir 杰金斯 jenkins-agent $ CD jenkins-agent $ wget https://ci.ros2.org/jnlpJars/slave.jar

将 jenkins 代理 plist 从 https://gist.github.com/nuclearsandwich/c9546e76ba63767bc1025c393e85235b

编辑文件,使其与要设置的主机的 jnlp URL 和密文相匹配。如果不是重新映像现有代理,可能需要创建一个新代理。

$ mkdir ~/Library/LaunchAgents $ cp ~/jenkins-agent/org.ros2.ci.jenkins-agent.plist ~/Library/LaunchAgents $ launchctl 负荷 -w ~/Library/LaunchAgents/org.ros2.ci.jenkins-agent.plist

重新启动!运行一些 CI 作业测试,应该就可以了。