问题描述
假设我有一个测试套件,其中99%的测试是快速的(总共运行2分钟),而1%的集成测试的运行时间是20分钟。
GitLab是否提供任何方法在合并到主数据库之前在管道中运行快速测试,而只有在合并完成后才在管道中运行快速测试?
这里的想法是每隔几个月恢复一次就值得更快合并。
解决方法
您可以根据分支名称限制GitLab作业。如果您将集成测试独立于他们自己的工作并以此方式进行限制,则在您按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