Azure DevOps,YAML发布管道?

Mic*_*345 66 azure-devops azure-pipelines-release-pipeline

我正在按照此过程为.NET Core Web API项目创建YAML构建管道:

https://docs.microsoft.com/en-us/azure/devops/pipelines/get-started-yaml?view=vsts

在发布它时,我注意到(最近重命名的)Azure DevOps似乎不支持YAML来定义发布管道.但是,我可以看到已经定义了部署任务,例如:

https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-rm-web-app-deployment?view=vsts

我们是否期望升级到发布管道功能以支持YAML,如果是,何时?

Jus*_*ook 49

在撰写此回复时,功能时间表反映了yaml发布即将到来的2018 Q3.

https://docs.microsoft.com/en-us/azure/devops/release-notes/

更新:这已经被撞了几次.建议检查以下注释,因为人们在找到它们时一直在提供更新.

  • 现在它是在2018年Q4功能. (9认同)
  • 最后!https://devblogs.microsoft.com/devops/whats-new-with-azure-pipelines/ 2019年5月7日 (8认同)
  • 我昨天通过Twitter联系了.YAML发布定义正在进行中,目的是在3月底进入私人预览.全文请访问https://twitter.com/gopinach/status/1088320931745935360?s=21 (6认同)
  • 最新工作项目跟踪此-https://dev.azure.com/mseng/AzureDevOpsRoadmap/_workitems/edit/1364226 (5认同)
  • 有一个工作项目来跟踪这个https://dev.azure.com/mseng/Azure%20DevOps%20Roadmap/_workitems/edit/1221170 (4认同)
  • 当使用完整的 YAML 进行构建和发布时,仍然缺少许多功能。它们的功能远未达到同等水平。重新运行发布(而不是构建!)怎么样?跳过一个版本并直接跳转到另一个环境怎么样?这些都是使用 GUI/日常完成的典型操作,而切换到 YAML 后却缺失了这些操作。这对于构建来说还不错,但我不相信可以节省时间。构建不会经常更改,您可以通过 GUI 来设置它们,所用的时间比查找每个任务的 YAML 语法所需的时间要短。 (4认同)
  • 这意味着您的代码位于github存储库中,可能并非如此. (3认同)
  • 此路线图项目称为“多阶段管道”,并将包括发行管道YAML支持。https://dev.azure.com/mseng/AzureDevOpsRoadmap/_workitems/edit/1364226/ (2认同)

Jim*_*lff 6

YAML构建管道创建体验处于预览阶段。(今天是2018-12-04)

用于发布管道的YAML似乎还有很长的路要走:2019 年第二季度

可以从您的个人资料中启用预览功能,如下所示:

个人资料菜单

YAML 特性

编辑:正如 nullforce 在评论中指出的那样,这只会为构建管道而不是发布管道启用 YAML 体验。

更新(2019-05-16):继微软的“Build 2019”之后,构建和部署的完整 YAML 体验现在应该可以在同一个 YAML 管道文件中实现。

  • 这个问题是关于发布管道,而不是构建管道。您指示的预览功能仅打开构建管道 YAML。 (4认同)

sta*_*SFT 5

产品团队正在为此努力。您可以通过发行说明跟踪更新。


Ant*_*ios 5

我现在正在做类似的事情,但我正在使用当前的 REST API。我正在做的事情与我在此处记录的内容类似(How do you import a releaseDefinition in VSTS?)。基本上,我将模板化的 JSON Release Pipeline 文件保存到源代码存储库中,其中包含变量占位符和嵌入的版本号。然后有一个调用 Azure DevOps 的 PowerShell 脚本(这是一个很长的词,我更喜欢输入 VSTS,也许我会开始输入 AD)

  • 用于检查发布管道是否存在的 REST API - 有效
  • 如果不存在则创建 - 有效
  • 比较嵌入式版本并更新,如有必要(我被困在这里,但我会解决它,返回正在更新的管道尚未更改的错误,即使我已经更改了它。)

我希望它在构建管道期间执行,以便我不再需要手动修改大量类似的发布管道。我也希望它是一个 YAML 文件,但这就是我今天拥有的。我希望这有帮助。