设置 Travis CI Enterprise 工作节点机器
Travis CI Enterprise 工作节点机器管理构建容器并将构建状态报告回平台。它必须安装在与平台不同的独立机器实例上。我们建议使用具有 8 个 vCPU 和 16GB RAM 的计算优化实例,并运行 Ubuntu 16.04 或更高版本。
先决条件 #
- Enterprise 3.x 或 Enterprise 2.x 平台已设置
- 您需要平台仪表板中的RabbitMQ 密码和主机名。
设置工作节点 #
-
在您的虚拟机管理平台上,创建 Travis CI 工作节点安全组
如果您是第一次设置工作节点镜像,则需要创建安全组或防火墙规则。从管理控制台中,为下表中的每个端口创建一个条目
端口 服务 描述 22 SSH 允许传入 SSH 流量以便从您的本地机器访问工作节点机器。 -
在您的新虚拟机上,下载并运行以下安装脚本
$ curl -sSL -o /tmp/installer.sh https://raw.githubusercontent.com/travis-ci/travis-enterprise-worker-installers/master/installer.sh $ sudo bash /tmp/installer.sh --travis_enterprise_host="<enterprise host>" --travis_enterprise_security_token="<rabbitmq password>"
在 Web 代理后面安装工作节点 #
如果您在 Web 代理后面,并且在运行工作节点安装脚本时 Docker 无法下载镜像,请编辑 /etc/default/docker
并设置您的代理。然后重新运行安装脚本。
如果您需要 Docker 本身使用 HTTP 代理,请在每个 docker 命令之前导出它
export http_proxy="http://proxy.mycompany.corp:8080/" docker <COMMAND>
旧版本的 Travis CI Enterprise #
Travis CI Enterprise 版本 | 默认工作节点版本 | 替代工作节点版本 | 工作节点状态 |
---|---|---|---|
Enterprise 2.2+ | Trusty (14.04) | Precise (Legacy, 12.04) | 已弃用 |
Enterprise 2.1.9+ | Precise (Legacy, 12.04) | Trusty (14.04) | 已弃用 |
Enterprise 2.0+ | Precise (Legacy, 12.04) | – | 已弃用 |
设置工作节点的新实例后,请按照您 Travis CI Enterprise 版本的相应指南操作。
设置 LXD 工作节点 #
-
在您的虚拟机管理平台上,创建 Travis CI 工作节点安全组
如果您是第一次设置工作节点镜像,则需要创建安全组或防火墙规则。从管理控制台中,为下表中的每个端口创建一个条目
端口 服务 描述 22 SSH 允许传入 SSH 流量以便从您的本地机器访问工作节点机器。 -
在您的新虚拟机上,下载并运行以下安装脚本
$ curl -sSL -o /tmp/lxd_install.sh https://raw.githubusercontent.com/travis-ci/travis-enterprise-worker-installers/master/lxd/lxd_install.sh $ sudo bash /tmp/lxd_install.sh --travis_enterprise_host="<enterprise host>" --travis_enterprise_security_token="<rabbitmq password>" --travis_build_images_arch=”<architecture>”
默认情况下安装 Focal 镜像,您可以通过提供
--travis_build_images
参数来更改此设置。
高级配置 #
您可以使用 --travis_storage_for_instances
标志将实例的 LXC 存储从默认值更改。您可以使用 --travis_storate_for_data
标志将数据的 LXC 存储从默认值更改。
默认情况下,安装程序为 LXC 创建一个 IP4 网络并为其分配地址 192.168.0.1。IP6 网络默认关闭。要更改这些参数,请使用以下安装标志
--travis_network_ipv4_network |
--travis_network_ipv4_address |
--travis_network_ipv6_address |