问题描述
如何通过在运行时使用devops管道动态选择模板来为逻辑应用程序部署多个arm模板。应该只构建签入的arm模板,并根据构建工件一次部署所有模板。
解决方法
一种方法如下:
- 将您的Logic App ARM模板命名为
<ProjectName>.<LogicAppName>.json
,并将参数文件命名为<ProjectName>.<LogicAppName>.param.json
- 将所有Logic App模板添加到构建工件的文件夹中。
- 在Release管道中,添加一个名称为
LogicAppNames
的变量,并在Pipeline变量中添加<LogicAppName>
值的逗号分隔名称列表。 - 根据构建代理的可用性,添加一个
Multi-Configuration
为Parallelism
且multipliers
值为LogicAppNames
和maximum number of agents
的代理作业。 - 添加一个
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'