【问题标题】:How to Trigger a build pipeline depends on create PR request source branch in Azure DevOps如何触发构建管道取决于在 Azure DevOps 中创建 PR 请求源分支
【发布时间】:2023-02-05 16:21:07
【问题描述】:

我有一个 Develop 分支和 Master。我的任务是在合并之前创建从 Develop 到 Master 的 Pull Request 时触发构建管道,具体取决于 Develop 分支。触发器应该来自源分支。我们可以添加标签来触发基于源分支的构建管道吗?我正在使用经典管道和 ADO 新手。我怎样才能做到这一点。请有人帮助我详细实现这一目标。

【问题讨论】:

    标签: azure azure-devops azure-pipelines pull-request azure-repos


    【解决方案1】:

    要在打开 PR 但在合并之前触发管道,您需要在 master 分支上添加分支策略以进行构建验证步骤。每当 PR 打开 master 时,这将触发管道运行

    Build Validation

    【讨论】:

    • 但这不会构建源代码分支。这将在源分支和目标分支之间构建合并目标。
    • @DavidCox88 感谢您的回答,它触发了构建管道。我们是否可以通过在 PR 上添加标签或标签来实现这一目标。因为当我用 Main 提升 PR 时它总是触发构建管道。我正在将它用于 HotFix。基于标签或标签,我们可以触发特定分支的构建。
    • @Harish334363 因为您使用的是经典 UI,所以与使用 yaml 定义管道相比,您的选择更加有限。经典 UI 无法使用标记或标签以这种方式触发管道。我建议切换到 yaml,它可以让您创建灵活性和自定义
    • @DavidCox88 感谢您的回复。我们如何使用 yaml 实现这一点。如果 yaml 工作正常,我会建议我的团队。请帮我完成这些步骤。谢谢。
    • @Harish334363 抱歉,我认为这是可能的,但刚刚检查了 documentation 如果使用 GitHub 或 BitBucket Cloud,您只能使用 yaml PR 触发器
    【解决方案2】:

    不幸的是,PR 触发行为会有所不同,具体取决于您使用的 SCM:Azure Repos Git、GitHub 或 Bitbucket Cloud。使用 BB Cloud,PR 构建将在打开或更新 PR 时触发,但不会在合并时触发。过滤器输入可用于指定 PR 触发器的分支。

    单击“Triggers in Azure Pipelines”文档中的链接,可以找到每个 SCM 系统的详细信息。

    【讨论】:

      【解决方案3】:

      设置方式取决于您使用的源代码版本控制软件。对于 GitHub,您需要安装“Azure Pipeline”GitHub App。

      然后在 Azure DevOps 中配置管道并在“触发器”部分启用“持续集成”。

      P.S.:为避免 PR 的编译检查会导致已发布的人工制品,您可以使用不同的管道,或者 - 这就是我试图实现的 - 一个管道,其中在合并 PR 时才生成人工制品。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-03-20
        • 2022-01-22
        • 2023-01-20
        • 2019-07-05
        • 2021-04-28
        • 2020-04-16
        • 1970-01-01
        • 2022-08-21
        相关资源
        最近更新 更多