Azure Pipelines:多行参数

Roz*_*ryn 4 parameters pipeline multiline azure-devops azure-pipelines

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

parameters:
- name: Multiline
  type: object
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

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

- bash: |
    echo ${{ parameters.Multiline }} >> script.txt
    cat script.txt
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Mur*_*ati 5

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

例如。

foo: |
  Multiline
  text
  in 
  parameter
Run Code Online (Sandbox Code Playgroud)

然后就可以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
Run Code Online (Sandbox Code Playgroud)