繁体   English   中英

Azure DevOps - 使用部署组或部署作业向环境发布管道?

[英]Azure DevOps - Release Pipeline using Deployment Groups or Deployment Job to an Environment?

我是 Azure DevOps 的新手,所以我错过了它是如何到达现在的位置。 我的意思是我已经看到了两种不同的环境部署方法,我不确定哪个取代了哪个:

  • 使用发布管道和定义的部署组跨阶段(环境)进行部署, 请参见此处
  • 在管道中使用部署作业,然后使用发布管道来协调将其推送到不同的环境 - 请参见此处

有趣的是,第一个链接 MS 文档称为经典,但后者不是。

我目前正在使用部署组来定义我为每个环境部署的应用服务器 - 然后我的发布管道中的每个阶段都针对不同的部署组(环境)。 这似乎是最流畅和自然的解决方案。 然而,我在环境部分设置的环境仍然保持它们从未被部署到 - 但部署组已经按照我的预期记录了部署,这让我感到很恼火。 此外,环境允许我设置有用的东西,比如“营业时间”来唤醒环境机器。

我查看并尝试了我发布的第二个链接中的一些方法 - 但是,这对我来说似乎并不直观 - 我在 DevOps 文档中找不到太多支持这种方法的内容。 我可以看到好处在于您可以将部署管道作为代码存储在您的存储库中,并且您在整个过程中拥有更好的控制器 - 但我无法从库中获取变量以用于任何replace variables步骤或者真正了解发布管道的位置。

所以,我想我在这个相当直接的场景中对什么是“最佳实践”有所了解。 我想知道这是否是两者的混合,但说实话 - 我有点迷茫。

发布管道和部署组的存在时间比 Azure DevOps 被命名为 Azure DevOps 的时间还要长。 YAML 版本是最近的。 它从未明确说明,但在我看来,这归结为您计划如何交付产品。

如果您正在进行持续交付(选择发布时间,可能是每天、每周或每季度),那么我认为您必须使用发布管道。 如果您有多个环境可能不在想要部署的生产路径中,您也可以选择此选项。

如果您正在进行持续部署(通过测试的每次推送都会在没有任何真正人工干预的情况下投入生产),那么我想您会选择使用 YAML 阶段。 这在您的第二个链接中详细说明为使用“发布流程”进行部署的方法,这是 Microsoft 为 Azure DevOps 交付更改的方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM