将现有(整个)Azure DevOps 管道迁移到基于 YAML 的管道(批量)

dpa*_*kar 6 yaml build azure azure-devops azure-pipelines

我想将现有的 Azure DevOps 管道移动到基于 YAML 的明显优势。问题是有很多这样的人,每一个都有很多工作。

当我在 Azure DevOps 中四处点击时,“查看 YAML”链接一次仅显示一项作业。因此,查看每个管道 x 作业的 YAML 并将其移动到代码中将需要大量手动工作。

但是对于每个管道,似乎都有一种方法可以在 json 中“导出”整个管道。我想知道如果不是整个文件夹,是否有类似的方法至少将整个管道转储为 YAML。

如果有一个 API 可以导出相同的内容,那就更好了。

Mer*_*SFT 6

到目前为止,我们支持的是你所看到的,用于View YAML复制/粘贴代理作业的定义。获取一个管道的整个定义还有另一种解决方法是使用 API从构建定义中获取JSON将其转换为 YAML,调整语法,然后根据需要更新引用的任务。

在此处输入图片说明

  • 将 YAML 复制到 Azure Devops 的 YAML 编辑器。然后最重要的一步是调整语法。

用任务名称版本替换refName 键值。为此,你可以去我们在github中打开的tasks源代码,在那里可以找到内置tasks(注意:请查看对应task的文件)task.json

注意:使用此方法还有一个缺点,即您需要非常熟悉 YAML 语法,以便您可以成功地调整从 JSON 转换的内容。