gpt4 book ai didi

Azure DevOps 预部署条件排除主分支以外的分支

转载 作者:行者123 更新时间:2023-12-03 05:13:20 26 4
gpt4 key购买 nike

我正在尝试设置我们的 Azure Pipelines,以便用户可以手动运行除主分支之外的分支的版本,将其部署到 Dev,但不能让它进一步部署。

我正在查看预部署条件下的工件过滤器。在 QA 阶段,如果我在 Build 分支主分支上添加 Include 过滤器,是否会过滤掉其他分支并阻止它们进入 QA?

示例:我在 main 之外创建一个分支 test_abcd,然后手动运行分支的构建管道。假设我将管道工件添加到发布管道中,它应该自动部署到 Dev,对吧?那么我的工件过滤器会阻止它进入 QA 阶段吗?

我认为应该如此,因为工件过滤器上的信息气泡指出:

Select artifact conditions(s) to trigger a new deployment. A release will be deployed to this stage only if all artifact conditions match.

非常感谢!

最佳答案

我认为你有几种方法:

  1. 只需将您的版本分为 2 种类型:开发(由开发分支触发)和发布(由 QA 或主控触发)。
  2. 向 QA Env 添加一个检查 Release.Artifacts.{alias}.SourceBranch 变量的脚本。如果不是(qa 或 master),则退出 1(部署失败)。 Classic release and artifacts variables
  3. 通过通用连接使用 Rest API。

对于第 3 点,您必须:

  1. 将新的服务连接添加到您的 azure devops 组织和 Use personal access token :

enter image description here

  • 添加一个新的 QA 门,以通过 Builds - Get 获取源构建的源分支并使用 Release.Artifacts.{alias}.BuildId:
  • enter image description here

    通过 URL /YOUR_TEAM_PROJECT/_apis/build/builds/$(Release.Artifacts._YOUR_ALIAS.BuildId) 获取构建,并通过条件 eq(root['sourceBranch' ],'refs/heads/main').

    enter image description here

    结果

    检查失败

    enter image description here

    检查成功

    enter image description here

    关于Azure DevOps 预部署条件排除主分支以外的分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75816954/

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