You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在所有自托管运行器不可用时默认使用GitHub托管运行器?

实现自托管运行器优先、无可用时自动切换至GitHub托管运行器的方案

你可以通过GitHub Actions内置的运行器匹配逻辑实现这个需求,具体方法如下:

  • 核心配置:使用runs-on数组指定优先级
    将自托管运行器的标识放在数组的第一位,GitHub托管的运行器(如ubuntu-latest、windows-latest)放在第二位。GitHub Actions会按数组顺序查找第一个可用的运行器:当自托管运行器在线时优先选用,所有自托管运行器离线时,自动切换到托管运行器执行作业。

    示例工作流配置:

    jobs:
      your-job-name:
        runs-on: [self-hosted, ubuntu-latest]
        steps:
          - name: 拉取代码
            uses: actions/checkout@v4
          # 这里添加你的作业步骤
    
  • 自定义标签的自托管运行器适配
    如果你的自托管运行器设置了自定义标签(比如self-hosted-linux),只需将数组中的self-hosted替换为对应标签即可,确保只匹配你指定的自托管集群:

    runs-on: [self-hosted-linux, ubuntu-latest]
    
  • 跨操作系统的配对配置
    若需要针对特定操作系统的自托管和托管运行器配对,比如Windows自托管 fallback 到Windows托管运行器,可以这样配置:

    runs-on: [self-hosted-windows, windows-latest]
    

这个方案无需额外的条件判断或复杂脚本,完全依赖GitHub Actions原生的运行器匹配逻辑,简洁可靠。

内容的提问来源于stack exchange,提问作者Diogo Melo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 08:47:06