如何在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
相关产品推荐
相关产品推荐

