代码之家  ›  专栏  ›  技术社区  ›  Crono

Azure DevOps:如何在拉取请求完成时触发发布?

  •  0
  • Crono  · 技术社区  · 7 年前

    我有一个回购协议,它有两个分支:

    • 主人

    开发分支中的代码可以作为“alpha”版本发布,而master中的代码可以用于生产。

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

    发布管道负责获取这些包并将其发布到内部NuGet提要。

    我试图实现的是让发布管道自动触发 当请购单完成时 , 不 每当CI构建成功时。

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

    我做错了什么?为什么pull请求触发器的工作方式与continuous deployment触发器没有任何不同?那它的目的是什么/

    0 回复  |  直到 7 年前
        1
  •  6
  •   Frank Wang-MSFT    7 年前

    拉请求触发器意味着,一旦配置了拉请求释放,只要为受保护分支提出拉请求,就会自动触发释放,并部署到指定的环境中。

    所以这两个触发器是不同的,您可以在这里参考更详细的信息。 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。

        2
  •  2
  •   GravlLift    5 年前

    我不确定一年后是否还有人在寻找解决方案,但我很高兴,所以我写了一个Azure函数应用程序,从DevOps接收拉请求关闭Webhook,并将这些事件转换为新版本。

    https://github.com/GravlLift/OnPullRequest

    推荐文章