我有一个 ADO 部署管道。
对于每个部署,我创建一个 ADO 环境,然后当我运行管道时,我选择希望它运行的环境。
通过这种方式,环境可以跟踪已部署的内容。
如何为环境配置可在管道中使用的变量来控制部署?
例如。我可能会创建一个名为 QA 的环境和另一个名为 Prod 的环境。当针对 QA 环境运行管道时,我想要创建一个低级版本的部署,当我针对 Prod 环境运行部署时,我想要创建一个高性能版本的部署。
最明显的配置位置是环境本身。我该怎么做?
由于您正在使用环境,因此您当前正在 Azure DevOps 中使用 YAML 管道。
如何为环境配置可在管道中使用的变量来控制部署?
为了满足您的需求,我建议您可以使用YAML Pipeline中的Parameters和IF表达式来选择目标环境。
这是一个例子:
parameters:
- name: Environmentname
type: string
default: QA
values:
- QA
- PROD
pool:
vmImage: ubuntu-latest
stages:
- stage: deploy
jobs:
- deployment: DeployWeb
displayName: deploy Web App
pool:
vmImage: 'Ubuntu-latest'
environment:
${{ if eq(parameters.Environmentname, 'QA') }}:
name: 'QA'
resourceName: VM0
resourceType: virtualMachine
${{ if eq(parameters.Environmentname, 'PROD') }}:
name: 'PROD'
resourceName: VM1
resourceType: virtualMachine
strategy:
runOnce:
deploy:
steps:
- script: echo Hello world
运行管道时,您可以选择目标环境名称。
例如: