我们有一个使用Azure Pipeline的项目,它依赖于回购根目录下的azure-pipelines.yml
文件。
实施script
步骤时,可以在同一步骤中执行连续的命令,只需将它们写在不同的行上即可。
- script: |
ls -la
pwd
echo $VALUE
但是,如果我们有一个非常长的命令,我们希望能够在YAML文件的多行中将其中断,但是找不到相应的语法?
答案 0 :(得分:0)
您可以使用'^'将命令行分成多行。检查下面的例子。下面的脚本将像单行命令一样输出“ hello world”
- script: |
echo ^
'hello ^
world'
答案 1 :(得分:0)
目前,我们发现在多行上中断单个命令的唯一方法是使用 YAML折叠样式:
- script: >
echo
'hello world'
这全部是用|
替换>
。
注意:
\n
实际上会在字符串中引入换行符,但与通常的相比感觉落后了)自动换行的方法,除非添加了明确的延续)。答案 2 :(得分:0)
您没有指定代理操作系统,因此我在windows-latest
和ubuntu-latest
上都进行了测试。请注意,脚本任务在这两种环境下运行略有不同。在Windows上,它使用cmd.exe。在Ubuntu上,它使用bash。因此,您必须使用正确的语法。
在Windows上:
pool:
vmImage: 'windows-latest'
steps:
- script: |
mkdir ^
test ^
-p ^
-v
在Ubuntu上:
pool:
vmImage: 'ubuntu-latest'
steps:
- script: |
mkdir \
test \
-p \
-v
上面的两个文件在我的Azure DevOps上工作。