假设我有一个名为azure-pipelines.yml的主Azure DevOps管道,在其中调用我的模板deploy.yml。
在主管道中,我想声明一个变量或参数,类型为HashSet / Map / Dictionary或任何其他键值结构,然后将其传递给模板。
我可以看到可以传递对象类型,但我无法理解它的使用方法。我怎样才能实现以下内容?
请注意,azure-pipelines.yml
中的appSettings: {"key1":"value1","key2":"value2"}
是虚构的,但非常好地展示了我希望它如何工作。
azure-pipelines.yml:
trigger:
- main
- job: deploy
pool:
vmImage: ${{ parameters.poolVmImage }}
steps:
- template: deploy.yml
parameters:
azureServiceConnection: ${{ parameters.azureServiceConnection }}
resourceGroupName: 'foo'
appServiceName: 'bar'
appSettings: {"key1":"value1","key2":"value2"}
deploy.yml:
parameters:
- name: azureServiceConnection
- name: resourceGroupName
- name: appServiceName
- name: appSettings
steps:
- task: AzureCLI@2
displayName: Deploy zip
name: deployZip
inputs:
azureSubscription: ${{ parameters.azureServiceConnection }}
scriptType: 'bash'
scriptLocation: 'inlineScript'
inlineScript: |
az webapp deployment source config-zip \
-g ${{ parameters.resourceGroupName }} \
-n ${{ parameters.appServiceName }} \
--src ./deployment.zip
az webapp config appsettings set \
-g ${{ parameters.resourceGroupName }} \
-n ${{ parameters.appServiceName }} \
--settings ${{ parameters.appSettings }}