Skip to main content

企业自托管运行器入门

您可以为企业配置一台 Runner 机器,这样开发人员就可以开始使用 GitHub Actions 自动化工作流。

谁可以使用此功能?

Enterprise owners and users with permissions can configure policies for GitHub Actions and add self-hosted runners to the enterprise.

关于 GitHub Actions 的自托管运行器

GitHub Actions 使企业中的用户可以通过自动化软件开发工作流的每个阶段来提高工作效率。 有关详细信息,请参阅 企业版GitHub Actions 之介绍

借助 GitHub Actions,开发人员可以编写和合并称为操作的单个任务,以创建自定义工作流。 若要启用GitHub Actions你的 GitHub Enterprise Server 实例,必须托管至少一台计算机才能执行作业。 该计算机称为自托管运行器。 运行器机器使用 GitHub 自托管运行器应用程序连接到 GitHub Actions。 自托管运行器都可以在 Linux、Windows 或 macOS 上运行。 有关详细信息,请参阅“自托管运行程序”。

本指南介绍如何对企业中 GitHub Actions 的自托管运行器应用集中式管理方法。 在本指南中,你将完成以下任务。

  1. 配置受限策略以限制可在企业中运行的操作
  2. 为企业部署自托管运行器
  3. 创建一个组,用于管理对企业可用的运行器的访问
  4. (可选)进一步限制能够使用该运行器的存储库
  5. 或者,若要自动生成并扩缩自托管运行器,请使用 Actions Runner Controller (ARC)。 有关详细信息,请参阅“操作运行器控制器”。

你还将找到有关如何监视和保护自托管运行器、如何从 GitHub.com 访问操作,以及如何在运行器计算机上自定义软件的其他信息。

完成本指南后, 的你的 GitHub Enterprise Server 实例企业成员用户将能够在自托管运行器计算机上通过 GitHub Actions 运行工作流作业。

先决条件

  • 必须为 GitHub Actions 启用 GitHub Enterprise Server。 站点管理员可以为实例启用和配置 GitHub Actions 。 有关详细信息,请参阅“GitHub Actions for GitHub Enterprise Server 使用入门”。

  • 必须有权访问将在环境中用作自承载运行器的计算机。

  • 自托管运行器与 GitHub 之间的连接通过 HTTP(端口 80)或 HTTPS(端口 443)进行。 若要确保通过 HTTPS 建立连接,请为其 GitHub Enterprise Server配置 TLS。 有关详细信息,请参阅 配置 TLS

1. 为 GitHub Actions 配置策略

首先,为所有组织启用GitHub Actions,并配置一项策略,以限制可在企业和可重用工作流你的 GitHub Enterprise Server 实例。 (可选)组织所有者可以进一步为每个组织限制这些策略。

  1. 在 GitHub Enterprise Server 的右上角,单击你的个人资料头像,然后单击“Enterprise settings”****。
  2. 在页面顶部,单击“ 策略”。
  3. 在“ Policies”下,单击“Actions”****。
  4. 在“策略”下,选择“为所有组织启用”。
  5. 若要启用本地操作创建的操作,请选择GitHub,然后选择GitHub。
  6. 单击“ 保存”。

可以配置其他策略来限制企业 用户 你的 GitHub Enterprise Server 实例可用的操作。 有关详细信息,请参阅“在企业中强制实施GitHub Actions策略”。

2. 为企业部署自托管运行器

接下来,向企业添加自托管运行器。 GitHub 将引导你在 runner 机器上完成所需软件的安装。 部署 runner 后,您可以验证 runner 所在的计算机与 你的 GitHub Enterprise Server 实例之间的连通性。

添加自托管运行器

  1. 在 GitHub Enterprise Server 的右上角,单击你的个人资料头像,然后单击“Enterprise settings”****。

  2. 在页面顶部,单击“ 策略”。

  3. 在“ Policies”下,单击“Actions”****。

  4. 单击“运行器”选项卡。

  5. 单击“新运行器”。 1. 选择自托管运行器计算机的操作系统映像和体系结构。

    操作系统和体系结构选择的屏幕截图。 这些选项以深橙色轮廓突出显示。

  6. 您将看到有关如何下载运行器应用并将其安装在您的自托管运行器机器上的说明。

    在自托管运行器所在的计算机上打开 Shell,并按所示顺序运行每条 Shell 命令。

    注意

    在 Windows 上,如果要将自托管运行器应用程序安装为服务,必须打开具有管理员权限的 shell。 我们还建议你使用 C:\actions-runner 作为自托管运行器应用程序的目录,以便 Windows 系统帐户可以访问运行器目录。

    这些说明将指导您完成以下任务:

    • 下载并解压自托管运行器应用程序。
    • 运行 config 脚本以配置自托管运行器应用程序,并将其注册到 GitHub Actions。 config 脚本需要目标 URL 和自动生成的时间限制令牌对请求进行身份验证。 令牌将在一小时后过期。
      • 在 Windows 上,config 脚本还会询问你是否想将自托管运行器应用程序安装为服务。 对于 Linux 和 macOS,您可以在完成添加运行器后安装服务。 有关详细信息,请参阅“将自托管的运行应用程序配置为服务”。
    • 运行自托管运行器应用程序,将计算机连接到 GitHub Actions。

检查您的自托管运行器是否已成功添加

在完成添加自托管运行器的步骤后,运行器及其状态列在“自托管运行器”下。

必须激活自托管运行器应用程序,运行器才能接受作业。 当运行器应用程序连接到 GitHub 并准备接收作业时,你将在机器的终端上看到以下消息。

√ Connected to GitHub

2019-10-24 05:45:56Z: Listening for Jobs

3. 使用用户组管理对自托管 runner 的访问权限

可以创建运行器组来管理对添加到企业的运行器的访问。 你将使用此组来选择来自 GitHub Actions 的哪些组织可以在运行器上执行作业。

GitHub 会将所有新运行器添加到一个组。 运行器一次可以位于一个组中。 默认情况下,GitHub 会将新的运行器添加到“Default”组。

  1. 在 GitHub Enterprise Server 的右上角,单击你的个人资料头像,然后单击“Enterprise settings”****。

  2. 在页面顶部,单击“ 策略”。

  3. 在“ Policies”下,单击“Actions”****。

  4. 单击“运行器组”选项卡。

  5. 单击“新建运行器组”。

  6. 在“组名称”下,键入运行器组的名称。

  7. 要选择组织访问策略,请在“组织访问权限”下选择“组织访问”下拉列表,然后单击“选定的组织” 。

  8. 在具有组织访问策略的下拉列表右侧,单击

  9. 选择要授予运行器组访问权限的组织。

  10. (可选)要允许所选组织中的公共存储库使用组中的运行器,请选择“允许公共存储库”。

    警告

    建议仅将自托管运行器用于私有仓库。 这是因为,通过创建在工作流中执行代码的拉取请求,公共存储库的分支可能会在自托管运行器计算机上运行危险代码。

    有关详细信息,请参阅“安全使用指南”。

  11. 单击“创建组”以创建组并应用策略。

  12. 单击“Runners”选项卡。

  13. 在运行器列表中,单击在上一部分中部署的运行器。

  14. 单击 “编辑”

  15. 单击“运行器组 ”。

  16. 在运行器组列表中,单击之前创建的组的名称。

  17. 单击“保存”,以将运行器移动到该组。

现在,你已部署了一个可在指定的组织内通过 GitHub Actions 运行作业的自托管运行器。

4. 进一步限制对自托管运行器的访问

或者,组织所有者以及具有“管理组织运行器和运行器组”权限的用户还可以进一步限制你所创建的运行器组的访问策略。 例如,组织所有者只能允许组织中的某些存储库使用运行器组。

有关详细信息,请参阅“使用组管理对自托管运行程序的访问”。

有关自定义组织角色的详细信息,请参阅 自定义组织角色的权限

5. 自动缩放自托管运行器

(可选)您可以使用 Actions Runner Controller (ARC) 自动缩放自托管运行器。 Actions Runner Controller (ARC) 是一个 Kubernetes 操作器,用于编排和缩放 GitHub Actions 的自托管运行器。 有关详细信息,请参阅 Kubernetes 文档中的运算符模式

使用 ARC,可以创建运行器规模集,以便根据存储库、组织或企业中运行的工作流数量自动缩放。 由于受控运行器可能是临时的,并且基于容器,因此新的运行器实例可以快速且干净利落地扩容或缩容。 有关自动缩放的详细信息,请参阅“自托管运行程序参考”。

后续步骤

  • 可以监视自托管运行器并排查常见问题。 有关详细信息,请参阅“对自托管运行程序进行监视和故障排除”。

  • GitHub 建议查看有关自托管运行器计算机的安全注意事项。 有关详细信息,请参阅“安全使用指南”。

  • 你可以将 GitHub.com 上包含操作的存储库手动同步到 GitHub Enterprise Server 上的企业。 或者,你可以允许企业中的成员通过使用GitHub.com自动访问来自GitHub Connect的操作。 有关详细信息,请参阅以下内容。

    • 文档中的
    • 文档中的
  • 可以自定义在自托管运行器计算机上可用的软件,或将运行器配置为运行类似于 GitHub 托管的运行器的软件,以供使用 GitHub.com 的客户使用。 支持运行器计算机使用 GitHub Actions 的软件是开源软件。 有关详细信息,请参阅 actions/runneractions/runner-images 存储库。

其他阅读材料