如何通过使用devops管道在运行时动态选择模板来为逻辑应用程序部署多个arm模板

问题描述

如何通过在运行时使用devops管道动态选择模板来为逻辑应用程序部署多个arm模板。应该只构建签入的arm模板,并根据构建工件一次部署所有模板。

解决方法

一种方法如下:

  1. 将您的Logic App ARM模板命名为<ProjectName>.<LogicAppName>.json,并将参数文件命名为<ProjectName>.<LogicAppName>.param.json
  2. 将所有Logic App模板添加到构建工件的文件夹中。
  3. 在Release管道中,添加一个名称为LogicAppNames的变量,并在Pipeline变量中添加<LogicAppName>值的逗号分隔名称列表。
  4. 根据构建代理的可用性,添加一个Multi-ConfigurationParallelismmultipliers值为LogicAppNamesmaximum number of agents的代理作业。
  5. 添加一个ARM Template deployment task,如下所示:
-  task: AzureResourceManagerTemplateDeployment@3   
    displayName: 'ARM Template deployment: Resource Group scope'   
    inputs:
    azureResourceManagerConnection: 'Visual Studio Enterprise (****)'
    subscriptionId: '********************************'
    resourceGroupName: 'resourceGroup'
    location: 'West US'
    csmFile: '$(System.DefaultWorkingDirectory)/BuildArtifactName/templates/<ProjectName>.$(LogicAppNames).json'
    csmParametersFile: '$(System.DefaultWorkingDirectory)/BuildArtifactName/templates/<ProjectName>.$(LogicAppNames).param.json'