我设置了 2 个环境,只保护了一个环境。
然而,管道运行希望我在它开始之前就批准。
我假设 Build 和 DevEnv 部署应该在无人值守的情况下进行,并且应该仅针对 QAEnv 停止。我错过了什么吗?
我设置了 2 个环境,只保护了一个环境。
然而,管道运行希望我在它开始之前就批准。
我假设 Build 和 DevEnv 部署应该在无人值守的情况下进行,并且应该仅针对 QAEnv 停止。我错过了什么吗?
您需要添加dependsOn: <environment>
到您的工作中。就目前而言,它正试图一次运行所有阶段。
您还可以在一个阶段内完成所有这些工作,这对我来说很重要。
您需要将它们分成多个阶段:
stages:
- stage: Build
jobs: ...
- stage: DEV
jobs: ...
- stage: QA
jobs: ...
同意丹尼尔曼的观点。
您可以将作业分为两个阶段(Dev 阶段和 QA 阶段)。
这是一个例子:
stages:
- stage: Dev_Stage
jobs:
- deployment: DeployWeb
displayName: deploy Web App
pool:
vmImage: 'Ubuntu-latest'
environment: 'env1'
strategy:
runOnce:
deploy:
steps:
- script: echo Hello world
- stage: QA_Stage
jobs:
- deployment: DeployWeb
displayName: deploy Web App
pool:
vmImage: 'Ubuntu-latest'
environment: 'env2'
strategy:
runOnce:
deploy:
steps:
- script: echo Hello world
结果:
在这种情况下,stage1没有检查步骤,需要检查stage2。
如果分别设置两个stage的环境,两个stage相互独立,不会干扰其他stage。
希望这可以帮助。