我们有一个项目使用Azure Pipeline,依赖azure-pipelines.yml
存储库根目录下的文件。
实现 script
时步骤,可以在同一步骤中执行连续的命令,只需将它们写在不同的行上:
- script: |
ls -la
pwd
echo $VALUE
然而,如果我们有一个很长的单个命令,我们希望能够在 YAML 文件中将它分成几行,但找不到相应的语法?
最佳答案
您没有指定您的代理操作系统,所以我在 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。
关于yaml - 如何在多行的 `script` 步骤中中断单个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59198459/