设置 Travis CI Enterprise 工作节点机器

Travis CI Enterprise 工作节点机器管理构建容器并将构建状态报告回平台。它必须安装在与平台不同的独立机器实例上。我们建议使用具有 8 个 vCPU 和 16GB RAM 的计算优化实例,并运行 Ubuntu 16.04 或更高版本。

先决条件 #

  1. Enterprise 3.xEnterprise 2.x 平台已设置
  2. 您需要平台仪表板中的RabbitMQ 密码主机名

设置工作节点 #

  1. 在您的虚拟机管理平台上,创建 Travis CI 工作节点安全组

    如果您是第一次设置工作节点镜像,则需要创建安全组或防火墙规则。从管理控制台中,为下表中的每个端口创建一个条目

    端口 服务 描述
    22 SSH 允许传入 SSH 流量以便从您的本地机器访问工作节点机器。
  2. 在您的新虚拟机上,下载并运行以下安装脚本

     $ 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 工作节点 #

  1. 在您的虚拟机管理平台上,创建 Travis CI 工作节点安全组

    如果您是第一次设置工作节点镜像,则需要创建安全组或防火墙规则。从管理控制台中,为下表中的每个端口创建一个条目

    端口 服务 描述
    22 SSH 允许传入 SSH 流量以便从您的本地机器访问工作节点机器。
  2. 在您的新虚拟机上,下载并运行以下安装脚本

     $ 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