Azure DevOps管道为代码-验证ARM模板

问题描述 投票:0回答:1

我正在研究Azure Pipeline as Code,并且想了解如何利用“ 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文件管理各种环境的部署?

谢谢。

azure-devops azure-pipelines azure-pipelines-release-pipeline
1个回答
0
投票

根据您的要求,您可以在Azure管道->环境中为每个Azure环境配置虚拟机。然后,您可以在Yaml代码中引用环境。

这里是步骤,您可以参考它们。

步骤1:每个Azure环境的Configure virtual machine

Virtual Machines

注意:如果虚拟机处于同一环境中,则需要为每个虚拟机添加标签。标记可用于区分同一环境中的虚拟机。

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: 
            ...

这里是有关using multiple stagesvirtual machines的文档。

希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.