首页 > 解决方案 > Azure Pipelines:多行参数

问题描述

是否可以在天蓝色管道中传递多行参数?如果type是 a string,你甚至不能用换行符写。另一方面,如果typeis object,您可以输入多行,但变量中的所有 EOL 都将被删除。

parameters:
- name: Multiline
  type: object

在此处输入图像描述

如果我将参数保存到文本文件,结果是一行

- bash: |
    echo ${{ parameters.Multiline }} >> script.txt
    cat script.txt

在此处输入图像描述

标签: azure-devopsparametersazure-pipelinespipelinemultiline

解决方案


我认为本机不支持多行参数,但您可以使用它object来传递多行字符串。可以通过添加一个包含多行字符串的 yaml 对象来完成它:

例如。

foo: |
  Multiline
  text
  in 
  parameter

然后你可以foo通过写访问${{ parameters.Multiline.foo }}

这是管道代码:

parameters:
- name: Multiline
  type: object
  
pool:
  vmImage: 'ubuntu-latest'

steps:
  - bash: |
      cat >> script.txt << EOL
      ${{ parameters.Multiline.foo }}
      EOL
        
      cat script.txt

推荐阅读