我正在探索Azure流水线作为代码,并想了解如何利用“ deploymentMode”来为每个Azure环境验证和部署ARM模板。
我已经通过Visual Builder在Azure DevOps中创建了发布管道,用于具有一个主要ARM模板和对应于Azure中每个环境的多个参数JSON文件的部署任务。这些管道中的每一个都有两个阶段。一个用于验证ARM模板,第二个用于部署。
我现在正在尝试将这些发布管道以代码形式转换为YAML格式的Azure管道,并希望创建一个YAML文件,用于合并每个环境的部署验证任务(deploymentMode:'Validation'),然后是实际的部署(deploymentMode: “增量”)。
1)在多环境发布周期中执行Azure DevOps Pipeline As代码是否正确?
2)YAML是否有两个阶段(一个阶段用于验证,另一个阶段用于部署),并且每个阶段都有许多任务(针对一个环境的每个任务)?
3)我是否需要首先在管道下的“环境”部分中创建每个Azure环境,并配置虚拟机以通过YAML文件管理各种环境的部署?
谢谢。
答案 0 :(得分:0)
根据您的要求,您可以在 Azure管道->环境中为每个Azure环境配置虚拟机。然后您可以使用Yaml代码引用环境。
以下是步骤,您可以参考它们。
步骤1:Configure virtual machine(针对每个Azure环境)。
注意:如果虚拟机处于同一环境中,则需要为每个虚拟机添加标签。标签可用于区分同一环境中的虚拟机。
第2步:您可以创建Yaml文件并在其中添加多个阶段(例如,验证阶段和部署阶段)。每个阶段都可以使用环境并包含多个任务。
这里是一个例子:
trigger:
- master
stages:
- stage: validation
jobs:
- deployment: validation
displayName: validation ARM
environment:
name: testmachine
resourceType: VirtualMachine
tags: tag
strategy:
runOnce:
deploy:
steps:
- task: AzureResourceManagerTemplateDeployment@3
...
- task:
...
- stage: deployment
jobs:
- deployment: deployment
displayName: deploy
environment:
name: testmachine
resourceType: VirtualMachine
tags: tag
strategy:
runOnce:
deploy:
steps:
- task: AzureResourceManagerTemplateDeployment@3
...
- task:
...
以下是有关using multiple stages和virtual machines的文档。
希望这会有所帮助。