跳至主要内容

对自托管运行程序使用标签

你可以使用标签根据自托管运行程序的特征对其进行组织。

有关如何使用标签将作业路由到特定类型的自托管运行器的详细信息,请参阅“在工作流中使用自托管运行器”。您还可以将作业路由到特定组中的运行器。有关详细信息,请参阅“为作业选择运行器”。

自托管运行器可以位于 GitHub 上的存储库、组织或企业帐户设置中。要管理自托管运行器,您必须具有以下权限,具体取决于添加自托管运行器的位置

  • 用户存储库:您必须是存储库所有者。
  • 组织:您必须是组织所有者。
  • 组织存储库:您必须是组织所有者,或具有对存储库的管理员访问权限。

注意

Action Runner Controller 不支持多个标签,要了解更多信息,请阅读我们的 Action Runner Controller 文档

创建自定义标签

您可以在存储库和组织级别为运行器创建自定义标签。

注意:标签不区分大小写。

为存储库运行器创建自定义标签

  1. 导航到注册了自托管运行器组的存储库的主页。
  2. 单击 设置.
  3. 在左侧边栏中,单击 操作,然后单击运行器
  4. 在运行器列表中,单击要配置的运行器的名称。
  5. 在“标签”部分,单击 .
  6. 在“查找或创建标签”字段中,键入新标签的名称,然后单击创建新标签。自定义标签已创建并分配给自托管运行器。可以从自托管运行器中删除自定义标签,但目前无法手动删除它们。未分配给运行器的任何未使用标签将在 24 小时内自动删除。

为组织运行器创建自定义标签

  1. 导航到注册了自托管运行器组的组织主页。
  2. 单击 设置.
  3. 在左侧边栏中,单击 操作,然后单击运行器
  4. 在运行器列表中,单击要配置的运行器的名称。
  5. 在“标签”部分,单击 .
  6. 在“查找或创建标签”字段中,键入新标签的名称,然后单击创建新标签。自定义标签已创建并分配给自托管运行器。可以从自托管运行器中删除自定义标签,但目前无法手动删除它们。未分配给运行器的任何未使用标签将在 24 小时内自动删除。

向自托管运行器分配标签

您可以在存储库和组织级别向自托管运行器分配标签。

向存储库运行器分配标签

  1. 导航到注册了自托管运行器组的存储库的主页。
  2. 单击 设置.
  3. 在左侧边栏中,单击 操作,然后单击运行器
  4. 在“标签”部分,单击 .
  5. 要在“查找或创建标签”字段中向自托管运行器分配标签,请单击该标签。

向组织运行器分配标签

  1. 导航到注册了自托管运行器组的组织主页。
  2. 单击 设置.
  3. 在左侧边栏中,单击 操作,然后单击运行器
  4. 在“标签”部分,单击 .
  5. 要在“查找或创建标签”字段中向自托管运行器分配标签,请单击该标签。

从自托管运行器中移除自定义标签

您可以在存储库和组织级别从自托管运行器中移除自定义标签。

从存储库运行器中移除自定义标签

  1. 导航到注册了自托管运行器组的存储库的主页。
  2. 单击 设置.
  3. 在左侧边栏中,单击 操作,然后单击运行器
  4. 在“标签”部分,单击 .
  5. 在“查找或创建标签”字段中,已分配的标签用 图标标记。单击标记的标签以从自托管运行器中取消分配。

从组织运行器中移除自定义标签

  1. 导航到注册了自托管运行器组的组织主页。
  2. 单击 设置.
  3. 在左侧边栏中,单击 操作,然后单击运行器
  4. 在“标签”部分,单击 .
  5. 在“查找或创建标签”字段中,已分配的标签用 图标标记。单击标记的标签以从自托管运行器中取消分配。

以编程方式分配标签

您可以在创建运行器后或在初始配置期间以编程方式向自托管运行器分配标签。

  • 要以编程方式向现有的自托管运行器分配标签,您必须使用 REST API。有关更多信息,请参阅“自托管运行器的 REST API 端点”。

  • 要在初始运行器配置期间以编程方式向自托管运行器分配标签,您可以使用 labels 参数将标签名称传递给 config 脚本。

    注意:您不能使用 config 脚本向现有的自托管运行器分配标签。

    例如,此命令在配置新的自托管运行器时分配名为 gpu 的标签

    ./config.sh --url <REPOSITORY_URL> --token <REGISTRATION_TOKEN> --labels gpu
    

    如果标签不存在,则会创建该标签。您还可以使用此方法向运行器分配默认标签,例如 x64linux。当使用配置脚本分配默认标签时,GitHub Actions 会按原样接受它们,并且不会验证运行器是否实际使用该操作系统或架构。

    您可以使用逗号分隔来分配多个标签。例如

    ./config.sh --url <REPOSITORY_URL> --token <REGISTRATION_TOKEN> --labels gpu,x64,linux
    

    注意:如果您替换现有的运行器,则必须重新分配任何自定义标签。