在 GitHub Actions 中的每个运行器上运行作业

weg*_*ven 6 github-actions github-actions-runners github-actions-self-hosted-runners

对于那些熟悉 Github Actions 的人...

目前,当作业运行时,它会根据标签和存储库为作业选择最合适的运行器(在工作流中使用自托管运行器 - GitHub 文档)。我的问题是是否有可能在每个满足工作要求的跑步者上运行一个工作。

例如,我有多个跑步者,既有自托管的,也有由 Github 托管的;我有一个包含脚本的作业,当代码被推送到 repo 时,它会执行以下操作:

  • 使用 actions/checkout@v2 检查 Git 存储库
  • 将文件从签出的 repo 复制到用户的主目录

这个“动作”需要在动作可以访问的每个跑步者身上发生。

我希望这是有道理的!

Ond*_*ůma 7

根据官方文档strategy,您应该在作业中使用选项,您可以在其中定义您希望作业在哪台机器上运行。

虽然我没有找到结合 github 和自托管运行器的具体用例,但我会尝试这样的操作:

strategy:
  matrix:
    os: [ubuntu-18.04, ubuntu-20.04, self-hosted]
runs-on: ${{ matrix.os }}
steps:
  - uses: actions/checkout@v2
Run Code Online (Sandbox Code Playgroud)