当随后发生多个提交并被取消时,待处理的 GitHub Actions 作业会如何表现?

问题描述 投票:0回答:1

目前我们的工作流程是在推送部署时触发的:

concurrency: prod

on:
    push:

jobs:
    test-deploy:
        environment: prod

test-deploy
作业需要手动批准,因此处于待处理状态,如作业 #1。如果我再进行两次提交 b 和 c,这不会触发新的部署(由于待处理的 #1),然后取消作业 #1,会发生什么情况?它会触发提交 b 的新部署作业还是最新提交 c 的部署作业吗?

github-actions
1个回答
0
投票

如果您分别再推送两个提交,它实际上应该启动 2 个新的工作流程运行。在这种情况下,您将有 3 个工作流程运行待处理并等待手动批准。

为了避免这种行为,我建议在工作流程级别使用并发,以保证当新提交推送到分支时取消先前的“正在进行的”运行。

这样,只需手动批准最新的运行即可进行部署。

因此,您的工作流程将如下所示:

on:
  push:
    branches:
      - your-branch-that-trigger-deploy

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  deploy:
    environment: prod
    steps:
      ...
© www.soinside.com 2019 - 2024. All rights reserved.