我正在探索Azure管道作为代码,并想了解如何使用"deploymentMode“来验证和部署针对每个Azure环境的ARM模板。
我已经通过Visual在Azure DevOps中创建了发布管道,用于部署任务,其中包含一个主ARM模板和多个参数JSON文件,对应于Azure中的每个环境。每条管道都有两个阶段。一个用于验证ARM模板,另一个用于部署。
我现在正试图将这些发布管道转换为YAML格式的代码,并希望为每个环境创建一个合并部署验证任务的YAML文件(deploymentMode:‘验证’),然后是实际部署(deploymentMode:‘增量’)。
1)将Azure DevOps管道作为多环境发布周期的代码,是否是正确的策略?
2) YAML是否有两个阶段(一个用于验证,另一个用于部署)和每个阶段有许多任务(每个任务用于一个环境)?
3)是否需要首先在管道下的“环境”部分创建每个Azure环境,并配置虚拟机,以便通过YAML文件管理各种环境的部署?
谢谢。
发布于 2020-05-21 07:53:14
根据您的需求,您可以在Azure管道-> 中为每个蔚蓝环境配置虚拟机。然后,您可以引用Yaml代码中的环境。
以下是步骤,您可以参考它们。
Step1:每个Azure环境的配置虚拟机。
注意:如果虚拟机位于相同的环境下,则需要为每个虚拟机添加标记。标记可用于区分同一环境中的虚拟机。
Step2:您可以创建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:
...
希望这能有所帮助。
https://stackoverflow.com/questions/61928045
复制相似问题