跳至主要内容

将标签与自托管运行程序一起使用

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

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

自托管运行程序可以位于 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
    

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