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

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

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

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

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

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

所以,我想我是在大致了解了这个相当简单的场景中的“最佳实践”之后。我想知道它是否是两者的结合,但老实说 - 我有点迷茫。

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

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

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