yaml - 如何在多行的 `script` 步骤中中断单个命令

标签 yaml azure-pipelines

我们有一个项目使用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/

相关文章:

Azure DevOps Pipeline 创建空 zip

arrays - YAML 等效于 JSON 中的对象数组

c# - 在Azure Pipeline上运行NUnit测试脚本时遇到多个错误

bash - 创建将在 VSTS 后台运行的命令

.net-core - .Net Core 3.0 Preview 8 项目 (NU1202) 上的管道 Nuget 还原失败

azure-devops - 如果当前阶段有任何作业,如何动态引用 Azure Pipelines 中的先前作业

yaml - 在此上下文中不允许映射值

amazon-web-services - AWS Cloudformation IoTAnalytics ServiceManagedS3 YAML

go - 将 GO YAML 解码为 Map 或 String

bash - 有没有办法在Azure Pipeline中提取bash脚本的输出