【问题标题】:Azure DevOps - Release Pipeline using Deployment Groups or Deployment Job to an Environment?Azure DevOps - 使用部署组或部署作业发布管道到环境?
【发布时间】:2021-02-27 19:27:50
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

    发布管道和部署组的存在时间比 Azure DevOps 更名为 Azure DevOps。 YAML 版本是相当新的。它从未明确说明过,但在我看来,这取决于您计划如何交付产品。

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

    如果您正在进行持续部署(每次通过测试的推送都无需任何真正的人工干预即可投入生产),那么我想您会选择使用 YAML 阶段。这在您的第二个链接中作为使用“发布流程”进行部署的方法进行了说明,这是 Microsoft 的 approach,用于为 Azure DevOps 提供更改。

    【讨论】:

      猜你喜欢
      • 2022-12-05
      • 1970-01-01
      • 1970-01-01
      • 2020-07-04
      • 2020-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多