Azure pipelines ARM deployment task YAML multiline [duplicate]

﹥>﹥吖頭↗ 提交于 2020-08-10 18:57:08

问题


Is it possible to use multiline in YAML in Azure Pipelines tasks? For instance for the ARM deployment task, there is an overrideParameters property. It would be nice if this could be split accross several lines instead of putting everything in one line:

- task: AzureResourceManagerTemplateDeployment@3
          displayName: 'ARM deploy MyFunctionAPP'
          inputs:
            deploymentScope: 'Resource Group'
            azureResourceManagerConnection: ${{ parameters.serviceConnection }}
            subscriptionId: ${{ parameters.subscriptionId }}
            action: 'Create Or Update Resource Group'
            resourceGroupName: ${{ parameters.resourceGroupName }}
            location: 'West Europe'
            templateLocation: 'Linked artifact'
            csmFile: '$(ARMtemplatesPath)\MyFunctionAPP\template.json'
            csmParametersFile: '$(ARMtemplatesPath)\MyFunctionAPP\parameters.json'
            deploymentMode: 'Incremental'
            overrideParameters: '-environment_name ${{ parameters.environmentName }} -vnetAddressPrefix ${{ parameters.vnetAddressPrefix }} -subnet1Prefix ${{ parameters.subnet1Prefix }} -APIkey ${{ parameters.APIkey }} -queueName ${{ parameters.queueNameMyQueue }} -SendGridAPIkey ${{ parameters.SendGridAPIkey }} -StorageConnectionAppSetting ${{ parameters.StorageConnectionAppSetting }}'

Is it somehow possible to split the overrideParameters values on multiple lines?


回答1:


This has worked for me:

overrideParameters: >-
  -environment_name "${{ parameters.environmentName }}" 
  -vnetAddressPrefix "${{ parameters.vnetAddressPrefix }}" 
  -subnet1Prefix "${{ parameters.subnet1Prefix }}"
  -APIkey "${{ parameters.APIkey }}"
  -queueName "${{ parameters.queueNameMyQueue }}" 
  -SendGridAPIkey "${{ parameters.SendGridAPIkey }}"
  -StorageConnectionAppSetting "${{ parameters.StorageConnectionAppSetting }}"

So using >- on a single line and then using double-quotes to surround settings values works.




回答2:


Is it somehow possible to split the overrideParameters values on multiple lines?

According to the document Expressions, we could use a pipe character (|) for multiline strings:

- task: AzureResourceManagerTemplateDeployment@3
          displayName: 'ARM deploy MyFunctionAPP'
          inputs:
            deploymentScope: 'Resource Group'
            azureResourceManagerConnection: ${{ parameters.serviceConnection }}
            subscriptionId: ${{ parameters.subscriptionId }}
            action: 'Create Or Update Resource Group'
            resourceGroupName: ${{ parameters.resourceGroupName }}
            location: 'West Europe'
            templateLocation: 'Linked artifact'
            csmFile: '$(ARMtemplatesPath)\MyFunctionAPP\template.json'
            csmParametersFile: '$(ARMtemplatesPath)\MyFunctionAPP\parameters.json'
            deploymentMode: 'Incremental'
            overrideParameters: |
             -environment_name ${{ parameters.environmentName }}
             -vnetAddressPrefix ${{ parameters.vnetAddressPrefix }}
             -subnet1Prefix ${{ parameters.subnet1Prefix }}
             -APIkey ${{ parameters.APIkey }}
             -queueName ${{ parameters.queueNameMyQueue }}
             -SendGridAPIkey ${{ parameters.SendGridAPIkey }}
             -StorageConnectionAppSetting ${{ parameters.StorageConnectionAppSetting }}

You could check this thread for some more details.



来源:https://stackoverflow.com/questions/63228354/azure-pipelines-arm-deployment-task-yaml-multiline

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!