【问题标题】:Running a job on every runner in GitHub Actions在 GitHub Actions 中的每个运行器上运行作业
【发布时间】:2021-04-26 06:03:22
【问题描述】:

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

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

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

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

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

我希望这是有道理的!

【问题讨论】:

标签: github-actions github-actions-runners github-actions-self-hosted-runners


【解决方案1】:

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

虽然我没有找到结合 github 和自托管运行器的特定用例,但我会尝试这样的事情:

strategy:
  matrix:
    os: [ubuntu-18.04, ubuntu-20.04, self-hosted]
runs-on: ${{ matrix.os }}
steps:
  - uses: actions/checkout@v2

【讨论】:

    猜你喜欢
    • 2021-09-23
    • 2020-03-24
    • 2020-01-28
    • 2021-12-19
    • 2020-04-01
    • 2021-08-28
    • 2021-05-09
    • 1970-01-01
    • 2020-05-13
    相关资源
    最近更新 更多