gpt4 book ai didi

azure-devops - Azure DevOps : how to trigger a release upon pull request being completed?

转载 作者:行者123 更新时间:2023-12-03 15:10:49 26 4
gpt4 key购买 nike

我有一个 repo,它有两个分支:

  • 开发(repo 的默认分支)
  • 大师

  • 众所周知,develop 分支中的代码可作为“alpha”版本发布,而 master 中的代码已知可用于生产。

    目前,开发分支的策略要求必须成功完成 CI 构建才能合并 PR。该构建将创建带有预发布标记 (alpha-####) 的 NuGet 包工件。

    发布管道负责获取这些包并将它们发布到内部 NuGet 源。

    我想要实现的是让发布管道自动触发 PR完成后 ,而不是每当 CI 构建成功时。

    我希望“拉取请求触发器”能做到这一点,但令我惊讶的是,触发器不会确认 PR 的状态,并且在 CI 构建完成后立即启动发布管道。

    这意味着如果 PR 因任何原因被拒绝,NuGet 仍可能部署到我的提要!

    我在这里做错了什么?为什么拉取请求触发器与持续部署触发器的工作方式没有任何不同?那它的目的是什么? :/

    最佳答案

    持续部署触发器意味着,如果您在发布管道中指定某些类型的工件,则可以启用持续部署。这会指示 Azure Pipeline 在检测到新工件可用时自动创建新版本。

    拉取请求触发器意味着,一旦配置了拉取请求发布,无论何时为 protected 分支提出拉取请求,都会自动触发发布,并将其部署到指定的环境。

    所以这两个触发器是不同的,更详细的信息你可以引用这里。
    https://docs.microsoft.com/en-us/azure/devops/pipelines/release/deploy-pull-request-builds?view=azure-devops

    https://docs.microsoft.com/en-us/azure/devops/pipelines/release/triggers?view=azure-devops

    如果您在 PR 完成后仍想部署 Nuget,我建议您创建一个新的构建管道并为其启用持续集成。然后将此构建管道设置为发布管道工件。
    因为当一个 PR 完成时,它会创建一个新的提交到目标分支,这个新提交将触发构建管道,构建管道将触发发布管道以按预期部署 Nuget。

    关于azure-devops - Azure DevOps : how to trigger a release upon pull request being completed?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58089501/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com