【问题标题】:Enforcing test execution before allowing Git commits在允许 Git 提交之前强制执行测试
【发布时间】:2017-12-14 22:03:46
【问题描述】:

我正在使用 BitBucket 和 VSTS 构建标准 CI 管道。 开发团队在功能分支上工作。当他们的工作完成后,他们将代码合并到开发分支中。

我想要一种在将功能分支合并到开发分支之前强制执行测试的方法。理想情况是这样的:

  • 开发者创建一个拉取请求。
  • 代码审查流程已获批准。
  • 开发人员做了一些事情,这会触发一些将功能分支与开发分支合并的过程(功能分支可以合并到开发分支,或者在两个分支合并的情况下创建一个全新的分支,或其他)。李>
  • 已合并的分支已构建、部署并对其执行测试。
    • 测试通过:分支合并到开发分支中。
    • 测试失败:功能分支没有合并到开发分支(如果分支已经合并到开发分支,则合并的提交从开发分支恢复)。

此过程的目标是使开发分支保持“良好”状态。 通常,触发所有这些过程的某些东西是将代码提交(或合并)到开发分支的行为。这个过程的问题是如果测试失败而不会丢失代码,则将代码从开发分支中恢复。 (此时合并的分支可能已被删除)。

【问题讨论】:

  • VSTS 通过拉取请求和分支策略对 Git 存储库提供原生支持,从而在合并之前强制执行成功的 CI 构建。

标签: bitbucket azure-devops


【解决方案1】:

VSTS 构建中有构建拉取请求功能,因此您可以在启用构建拉取请求的情况下创建新的构建定义,然后一旦创建新的拉取请求并匹配目标分支就会触发构建,您可以检查在 bitbucket 中构建拉取请求的结果。

您可以通过清单定义策略:Pull request guidelines for Bitbucket Cloud

顺便说一句,VSTS 包含branch policies 功能,因此您可以考虑使用 VSTS 存储库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-29
    • 2021-09-11
    • 2022-06-15
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    • 1970-01-01
    • 2011-05-05
    相关资源
    最近更新 更多