我只是在读Steal that API Key with a Man in the Middle Attack,听起来很棒。
据我了解,这些阶段是相继进行的,现在假设我有以下阶段
stages:
stage: Deploy to acc
...
stage: Deploy to prd
我不想在部署到acc
之后立即运行生产部署。首先,我想看看acc
,当我批准它时,它应该部署到prd
。在多阶段管道中是否有一种方法可以告诉您不要自动运行阶段?并例如手动运行一个阶段?还是应该为生产而创建新的管道?
答案 0 :(得分:2)
要防止阶段自动运行,可以为每个阶段添加条件。检查here了解更多信息
stages:
- stage: A
#stage B runs if A fails
- stage: B
condition: failed()
#stage C runs if B succeeds
- stage: C
dependsOn:
- A
- B
condition: succeeded('B')
如果要手动运行舞台。您可以为checks
创建environments
。
请按照以下步骤创建舞台目标环境。
导航到“管道”页面。然后选择环境,然后单击创建环境。 有关更多信息,请检查here
然后按照说明here为每个环境创建检查。这样,在您的管道阶段开始部署到已定义checks
的环境之前。它将等待批准。
建议使用发布管道来部署您的应用程序。您可以在项目的发布页面中创建发布管道。在发布管道中,创建批准和门以手动干预部署任务非常简单。 检查here了解详细步骤
答案 1 :(得分:0)
如果您想手动运行舞台,我相信有更好的方法。我在这里发布了一个类似问题的答案:
答案 2 :(得分:0)
每个阶段结束时的仅供参考的手动验证任务也无法完成此任务:
- task: ManualValidation@0
timeoutInMinutes: 1440 # task times out in 1 day
inputs:
notifyUsers: |
test@test.com
example@example.com
instructions: 'Please validate the build configuration and resume'
onTimeout: 'resume'