可以将自承载运行程序添加到存储库、组织或企业。
如果您是组织或企业管理员,您可能希望在组织或企业级别添加自托管的运行器。 此方法使运行器可用于组织或企业中的多个仓库,还允许您在一个位置管理运行器。
有关自托管运行器支持的操作系统或将自托管运行器与代理服务器结合使用的信息,请参阅“关于自托管运行程序”。
Warning
建议仅将自托管运行器用于私有仓库。 这是因为,通过创建在工作流中执行代码的拉取请求,公共存储库的分支可能会在自托管运行器计算机上运行危险代码。
有关详细信息,请参阅“关于自托管运行程序”。
您可以设置自动化以扩展自托管运行器的数量。 有关详细信息,请参阅“使用自托管运行器自动缩放”。
可以使用实时运行器注册在清理注册之前注册执行单个作业的临时运行器。 有关详细信息,请参阅“GitHub Actions 的安全强化”。
先决条件
- 必须有权访问将在环境中用作自承载运行器的计算机。
添加自托管的运行器到仓库
您可以将自托管的运行器添加到单个仓库中。 要将自托管的运行器添加到用户仓库,您必须是仓库所有者。 对于组织存储库,你必须是组织所有者,拥有存储库的管理员访问权限,或者具有“管理组织运行器和运行器组”权限。
有关自定义组织角色的详细信息,请参阅“关于自定义组织角色”。
有关如何使用 REST API 添加自托管运行器的信息,请参阅“自托管运行器的 REST API 终结点”。
Note
企业所有者和组织所有者可以选择允许哪些存储库创建存储库级别的自托管运行器。 拥有“管理组织运行器和运行器组”权限的用户只能选择允许哪些存储库为组织中的存储库创建存储库级自托管运行器。
有关自定义组织角色的详细信息,请参阅“关于自定义组织角色”。
有关详细信息,请参阅“在企业中为 GitHub Actions 实施策略”和 “禁用或限制组织的 GitHub Actions”。
-
在 GitHub 上,导航到存储库的主页面。
-
在存储库名称下,单击 “设置”。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”。
-
在左侧边栏中,单击 “操作”,然后单击“运行器” 。
-
点击“新自托管运行器”。
-
选择自托管运行器计算机的操作系统映像和体系结构。
-
您将看到指示您如何下载运行器应用程序并安装到自托管运行器机器上的说明。
在自托管运行器机器上打开 shell,并按显示的顺序运行每个 shell 命令。
注意:在 Windows 上,如果要将自托管运行器应用程序安装为服务,必须打开具有管理员权限的 shell。 我们还建议你使用
C:\actions-runner
作为自托管运行器应用程序的目录,以便 Windows 系统帐户可以访问运行器目录。这些说明将指导您完成以下任务:
- 下载并提取自托管运行器应用程序。
- 运行
config
脚本配置自托管运行器应用程序,并将其注册到 GitHub Actions。config
脚本需要目标 URL 和自动生成的时间限制令牌对请求进行身份验证。- 在 Windows 上,
config
脚本还会询问你是否想将自托管运行器应用程序安装为服务。 对于 Linux 和 macOS,您可以在完成添加运行器后安装服务。 有关详细信息,请参阅“将自托管的运行应用程序配置为服务”。
- 在 Windows 上,
- 运行自托管运行器应用程序以将机器连接到 GitHub Actions。
检查您的自托管运行器是否已成功添加
在完成添加自托管运行器的步骤后,运行器及其状态列在“运行器”下。
必须激活自托管运行器应用程序,运行器才能接受作业。 当运行器应用程序连接到 GitHub Enterprise Cloud 并准备接收作业时,你将在机器的终端上看到以下消息。
√ Connected to GitHub
2019-10-24 05:45:56Z: Listening for Jobs
有关详细信息,请参阅“对自托管运行程序进行监视和故障排除”。
添加自托管的运行器到组织
您可以在组织级别添加自托管的运行器,其中它们可被用于处理组织中的多个仓库的作业。 若要向组织添加自托管运行器,你必须是组织所有者或拥有“管理组织运行器和运行器组”权限。 有关如何使用 REST API 添加自托管运行器的信息,请参阅“自托管运行器的 REST API 终结点”。
有关自定义组织角色的详细信息,请参阅“关于自定义组织角色”。
-
在 GitHub 上,导航到组织的主页面。
-
在组织名称下,单击 “设置”****。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”********。
-
在左侧边栏中,单击 “操作”,然后单击“运行器” 。
-
单击“新建运行器”,然后单击“新自托管运行器” 。 1. 选择自托管运行器计算机的操作系统映像和体系结构。
-
您将看到指示您如何下载运行器应用程序并安装到自托管运行器机器上的说明。
在自托管运行器机器上打开 shell,并按显示的顺序运行每个 shell 命令。
注意:在 Windows 上,如果要将自托管运行器应用程序安装为服务,必须打开具有管理员权限的 shell。 我们还建议你使用
C:\actions-runner
作为自托管运行器应用程序的目录,以便 Windows 系统帐户可以访问运行器目录。这些说明将指导您完成以下任务:
- 下载并提取自托管运行器应用程序。
- 运行
config
脚本配置自托管运行器应用程序,并将其注册到 GitHub Actions。config
脚本需要目标 URL 和自动生成的时间限制令牌对请求进行身份验证。- 在 Windows 上,
config
脚本还会询问你是否想将自托管运行器应用程序安装为服务。 对于 Linux 和 macOS,您可以在完成添加运行器后安装服务。 有关详细信息,请参阅“将自托管的运行应用程序配置为服务”。
- 在 Windows 上,
- 运行自托管运行器应用程序以将机器连接到 GitHub Actions。
检查您的自托管运行器是否已成功添加
在完成添加自托管运行器的步骤后,运行器及其状态列在“运行器”下。
必须激活自托管运行器应用程序,运行器才能接受作业。 当运行器应用程序连接到 GitHub Enterprise Cloud 并准备接收作业时,你将在机器的终端上看到以下消息。
√ Connected to GitHub
2019-10-24 05:45:56Z: Listening for Jobs
有关详细信息,请参阅“对自托管运行程序进行监视和故障排除”。
注意:出于安全原因,公共存储库默认不能在运行器组中使用运行器,但你可以在运行器组的设置中覆盖此项。 有关详细信息,请参阅“使用组管理对自托管运行程序的访问”。
添加自托管运行器到企业
可以将自托管运行器添加到企业,在那里可以将它们分配给多个组织。 组织所有者可控制哪些存储库可以使用运行器。
新运行器将分配到默认组。 您可以在注册运行器后修改运行器组。 有关详细信息,请参阅“使用组管理对自托管运行程序的访问”。
要将自托管的运行器添加到企业,您必须是组织所有者。 有关如何使用 REST API 添加自托管运行器的信息,请参阅 GitHub Actions REST API 中的企业终结点。
-
在 GitHub 的右上角,单击你的个人资料照片。
-
根据环境,单击“你的企业”,或单击“你的企业”,然后单击要查看的企业********。
-
在页面左侧的企业帐户边栏中,单击 “策略”。
-
在“ 策略”下,单击“操作”。****
-
单击“运行器”选项卡。
-
单击“新建运行器”,然后单击“新自托管运行器” 。 1. 选择自托管运行器计算机的操作系统映像和体系结构。
-
您将看到指示您如何下载运行器应用程序并安装到自托管运行器机器上的说明。
在自托管运行器机器上打开 shell,并按显示的顺序运行每个 shell 命令。
注意:在 Windows 上,如果要将自托管运行器应用程序安装为服务,必须打开具有管理员权限的 shell。 我们还建议你使用
C:\actions-runner
作为自托管运行器应用程序的目录,以便 Windows 系统帐户可以访问运行器目录。这些说明将指导您完成以下任务:
- 下载并提取自托管运行器应用程序。
- 运行
config
脚本配置自托管运行器应用程序,并将其注册到 GitHub Actions。config
脚本需要目标 URL 和自动生成的时间限制令牌对请求进行身份验证。- 在 Windows 上,
config
脚本还会询问你是否想将自托管运行器应用程序安装为服务。 对于 Linux 和 macOS,您可以在完成添加运行器后安装服务。 有关详细信息,请参阅“将自托管的运行应用程序配置为服务”。
- 在 Windows 上,
- 运行自托管运行器应用程序以将机器连接到 GitHub Actions。
检查您的自托管运行器是否已成功添加
在完成添加自托管运行器的步骤后,运行器及其状态列在“运行器”下。
必须激活自托管运行器应用程序,运行器才能接受作业。 当运行器应用程序连接到 GitHub Enterprise Cloud 并准备接收作业时,你将在机器的终端上看到以下消息。
√ Connected to GitHub
2019-10-24 05:45:56Z: Listening for Jobs
有关详细信息,请参阅“对自托管运行程序进行监视和故障排除”。
注意:出于安全原因,公共存储库默认不能在运行器组中使用运行器,但你可以在运行器组的设置中覆盖此项。 有关详细信息,请参阅“使用组管理对自托管运行程序的访问”。
让企业运行器可用于仓库
在默认情况下,企业的“默认”自托管运行器组的运行器可用于企业中的所有组织,但不可用于每个组织中的所有仓库。
要让企业级自托管运行器组可用于组织仓库,您可能需要更改组织对运行器组的继承设置,使运行器可用于组织中的仓库。
有关更改运行器组访问设置的详细信息,请参阅“使用组管理对自托管运行程序的访问”。