无法尝试 运行 排队 Github 操作
Trouble trying to run queued Github Actions
我得到一个案例,其中两个 GitHub 操作正在 运行 同时(按预期)在 master 分支上推送。问题是,我希望它 运行 在队列中,但我找不到任何关于它的有用文档。在我的例子中,我只需要 运行 在相同操作的 运行 结束后作为我的部署中断的操作,如果它仍在执行最后一个。我将不得不处理一个我一开始不想让它等待而不是直接部署的第三方 cli,我非常希望在整个操作中都这样做。
我在这里看到以下解决方案:
- 您可以"sleep"您的依赖工作流来模拟等待
第一个工作流程。 wait-action 可能有帮助
你那个。
- 您可以尝试从第一个动作触发第二个动作(而不是触发它
push
).
但是说实话,所有这些选项更像是 hack。 GitHub 操作设计为 运行 并行,如果您想按特定顺序 运行 操作,您应该考虑改用作业并使用 needs
属性 来在它们之间建立依赖关系。示例:
jobs:
job1:
name: Run 1st job
job2:
name: Run 2nd job
needs: job1
文档 - needs
您可以使用并发。
name: CI
on:
pull_request:
branches: [main]
concurrency: ci
jobs:
我得到一个案例,其中两个 GitHub 操作正在 运行 同时(按预期)在 master 分支上推送。问题是,我希望它 运行 在队列中,但我找不到任何关于它的有用文档。在我的例子中,我只需要 运行 在相同操作的 运行 结束后作为我的部署中断的操作,如果它仍在执行最后一个。我将不得不处理一个我一开始不想让它等待而不是直接部署的第三方 cli,我非常希望在整个操作中都这样做。
我在这里看到以下解决方案:
- 您可以"sleep"您的依赖工作流来模拟等待 第一个工作流程。 wait-action 可能有帮助 你那个。
- 您可以尝试从第一个动作触发第二个动作(而不是触发它
push
).
但是说实话,所有这些选项更像是 hack。 GitHub 操作设计为 运行 并行,如果您想按特定顺序 运行 操作,您应该考虑改用作业并使用 needs
属性 来在它们之间建立依赖关系。示例:
jobs:
job1:
name: Run 1st job
job2:
name: Run 2nd job
needs: job1
文档 - needs
您可以使用并发。
name: CI
on:
pull_request:
branches: [main]
concurrency: ci
jobs: