首页 > 解决方案 > 仅在合并后在 gitlab 上运行集成测试

问题描述

假设我有一个测试集,其中包含 99% 的快速测试(总共运行 2 分钟)和 1% 的集成测试,运行时间为 20 分钟。

GitLab 是否提供任何方法来在合并到 master 之前在管道中运行快速测试,而仅在合并完成后运行慢速测试?

这里的想法是每几个月恢复一次值得更快合并的好处。

标签: gitlabintegration-testing

解决方案


您可以根据分支名称限制 GitLab 作业。如果您将集成测试与他们自己的工作分开并像这样限制它,那么当您 push 时它们将不会运行some_feature_bracnh,但如果您将该分支合并到master. 例如:

stages:
  - dev
  - postmerge

unit-test:
  stage: dev
  scripts:
    - ./run_unit_tests.sh

integration-test
  stage: postmerge
  scripts:
    - ./run_integration_tests.sh
  only:
    refs:
    - master

推荐阅读