当前位置: 首页 > 知识库问答 >
问题:

带有git-flow的Azure运营模式发布管道

蓝苗宣
2023-03-14

我正在尝试在Azure DevOps(内部部署)中配置发布管道以支持git流策略。我正在努力实现的目标:

  1. promise“发布/*”触发软件的构建并发布到QA的位置
  2. promise“主控”从步骤1获取相同的软件构建(工件),并发布到生产位置

因此,当我做一个git-flow开始发布时,软件可用于测试/质量保证,当我完成发布时,它可供用户使用。

我的构建管道工作正常,它由发布分支触发,并以发布工件任务结束。我的发布管道使用这个工件,有QA和生产阶段,但生产阶段从不触发。对于QA,我为“release/*”和“master”提供了一个工件过滤器。

有没有办法在提交到“主”时触发我的第二个发布管道阶段?

共有2个答案

解阳荣
2023-03-14

对于您的问题,如果您希望根据对构建工件源中不同分支的提交自动触发到不同阶段的部署,这是不可行的。

同意Bevan,如果您只想使用构建构件作为发布管道的源,您可以为QA和生产阶段设置部署前批准。当您希望将版本分支中的构建构件部署到QA阶段时,您可以在QA阶段批准部署。当您希望将来自master分支的构建构件部署到生产阶段时,您可以在生产阶段批准部署。

您还可以创建两个构建管道,一个用于主分支,另一个用于发布分支。然后为两个不同的构建工件创建单独的发布管道。一个用于部署到QA阶段,另一个用于部署到生产阶段。

阴礼骞
2023-03-14

不幸的是,作为一个通用流程,这不会起作用。当您promise从发布分支发布您的建筑时。当您提交到主分支时,您必须再次构建一个工件,以便从主提交中定向。

你要么需要满意:

  • 1 x构建从提交到发布或主发布到两个环境
  • 2个单独的版本发布到单独的环境
 类似资料:
  • 在我们的Azure DevOps部署中,我们有一个生成并运行“子”管道的“主”发布管道。子管道从不直接运行。 目前,我们在主管道中使用Powershell脚本启动子管道,但我想知道是否有一个内置任务可以自动执行此操作?我已经看了任务列表,但是没有什么跳出。如果没有也没关系,但我想问问,以防我错过了什么。

  • 我在 Azure DevOps 存储库中有一个 ASP.NET 核心项目,使用 DevOps 生成管道可以正常生成该项目。但是,该版本的发布始终失败,并显示以下错误: 找不到具有指定模式的包。< br >检查任务中提到的包是否作为构建或前一阶段中的工件发布,并在当前作业中下载。 更多详情:

  • 我的任务是开发现有遗留应用程序的Azure DevOps实现。应用程序有一个QA团队,该团队使用500个自动化测试用例。此测试用例是使用量角器开发的。所有测试用例都是使用JavaScript开发的。 对于现有设置,以下是所采取的步骤:a.发布管道部署ASP。NET应用程序到Azure app services b。QA人员手动登录到VM并启动量角器测试。 我们可以使用Azure devOps管道中

  • 我现在有一个Azure DevOps发布管道,其中包含测试、验收和生产阶段,它们是按顺序触发的。当有新的生成可供部署时,将触发测试。 我遇到的问题是,所有阶段目前都部署了完全相同的工件。但这是错误的,因为它们部署到不同的环境,需要有自己版本的Web.config. 如何更改设置,使所有环境都能获得正确的软件包?我是否应该更改生成设置,以便为多个不同的配置生成,还是应该为每个环境分别生成?我如何选择

  • 尝试让在prem上安装了部署代理的Azure DevOps发布管道以有权访问on-prem数据库的特定用户身份运行控制台应用程序。 这就是工作流程 Azure发布管道调用- 我正在使用管道中的PowerShell任务与此内联脚本: 我知道userid、密码和命令行参数正在正确传递,但是无论控制台应用程序有多简单,当代理运行PowerShell脚本时,它都会崩溃。我尝试在各种服务帐户(系统、管理员等

  • Azure DevOps 发布管道允许我指定多个输入项目,但自动触发仅发生在主要项目上。有没有办法对 N 个输入项目执行“全部等待”类型操作,以便我的发布管道仅在每个项目具有与某些指定值匹配的可用版本时才启动? 例如,假设我在一个存储库中进行了提交 M,该存储库具有多个不同的 CI 作业 A 和 B,这些作业花费的时间非常不同。一个 CI 作业 (A) 在几分钟内创建一个 NuGet 包作为项目,