运行 仅在合并后对 gitlab 进行集成测试

Run integration tests on gitlab after merge only

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

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

这里的想法是,每两个月恢复一次是值得的,因为合并速度更快。

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

stages:
  - dev
  - postmerge

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

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