有没有办法使用 Azure Devops 将 yaml 构建管道转换为发布管道?

时间:2021-02-18 10:23:08

标签: azure azure-devops yaml azure-pipelines azure-pipelines-release-pipeline

在我的构建管道中,我正在运行 Pester 测试并向输出文件夹报告。在发布期间,我想运行这些,并且只有在所有测试都通过时才进入下一阶段(部署)。我不关心结果,我只想确保它们都通过。我曾尝试使用 GUI“复制”我现有的 yaml 文件,但不确定执行此操作的最佳方法和变量范围。是否可以在 Azure Devops 中将构建管道直接转换为 Azure 发布管道?如果可以,执行此操作的最佳方法是什么?

我尝试将其转换为 json,但是当我尝试导入 json 管道时出现 undefined 错误。我还应该补充一点,通过查看预览功能,我无法找到解决方案。

1 个答案:

答案 0 :(得分:1)

恐怕无法将构建管道直接转换为 Azure 发布管道。

您需要手动将构建管道中的相同任务添加到发布阶段。我相信在发布管道中创建具有相同任务的阶段并不是一项复杂的工作。您只需要添加具有相同配置的每个任务(主要是复制和粘贴)。并在 Variables 选项卡中创建相同的变量。检查有关 classic CD release pipeline 的文档。

另一种解决方法是使用多阶段 yaml 管道而不是经典的发布管道。

具有多阶段 yaml 管道。您可以轻松地在一个阶段中移动您的构建 yaml 内容。查看 here 了解更多信息。见下文:

trigger: none

stages:
- stage: Test
  jobs: 
  - job: Pester tests
    pool:
      vmImage: windows-latest
    steps:
    ..

- stage: Deploy
  jobs: 
  - job: DeployJob
    pool:
      vmImage: windows-latest
    steps:
    ..