0

我设置了 2 个环境,只保护了一个环境。

然而,管道运行希望我在它开始之前就批准。

我假设 Build 和 DevEnv 部署应该在无人值守的情况下进行,并且应该仅针对 QAEnv 停止。我错过了什么吗?

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

4

2 回答 2

2

您需要添加dependsOn: <environment>到您的工作中。就目前而言,它正试图一次运行所有阶段。

您还可以在一个阶段内完成所有这些工作,这对我来说很重要。

您需要将它们分成多个阶段:

stages:
- stage: Build
  jobs: ...
- stage: DEV
  jobs: ...
- stage: QA
  jobs: ...
于 2020-06-27T14:28:33.013 回答
0

同意丹尼尔曼的观点。

您可以将作业分为两个阶段(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。

希望这可以帮助。

于 2020-06-29T06:22:53.663 回答