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

如何在GitHub Actions工作流中获取当前运行器名称以实现步骤分支?

可以获取当前运行器的具体名称来实现条件分支

你遇到的问题是runner.os只能返回运行器的操作系统类型(比如ubuntu-latest和基于Linux的自托管运行器都会返回Linux),所以没法区分具体是哪个运行器。要获取runs-on里指定的具体运行器名称,应该用${{ runner.name }}这个上下文变量。

示例用法

下面是一个包含条件分支的工作流示例,展示如何根据当前运行器名称执行不同步骤:

name: Test Runner Specific Steps
on: [push]

jobs:
  test-runner:
    runs-on:
      - ubuntu-latest
      - some-self-hosted-runner
    steps:
      - name: 针对ubuntu-latest执行的步骤
        if: ${{ runner.name == 'ubuntu-latest' }}
        run: echo "当前运行器是ubuntu-latest"

      - name: 针对自托管运行器执行的步骤
        if: ${{ runner.name == 'some-self-hosted-runner' }}
        run: echo "当前运行器是some-self-hosted-runner"

注意事项

  • runner.name的值完全匹配你在runs-on中配置的字符串,大小写敏感,所以要确保判断条件里的名称和配置完全一致。
  • 如果你的自托管运行器有自定义的显示名称,也要用这个名称来做判断,而不是运行器的主机名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 16:52:03