去年,我在GitLab上为我公司的Java项目设置了一些CI。我们正在使用共享运行程序,该运行程序在每个项目管道中执行几个阶段。效果很好,但是由于一些不可预见的原因,我们不得不搁置一段时间。
在GitLab上进行排序的示例及其工作方式(Java Maven项目的简单阶段):
我最近已将其备份,似乎在进行了某些GitLab升级后,其行为已稍有更改-管道不再按上述顺序执行。我已经进行了一些研究,我认为这可能是由于共享运行者如何利用“共享使用情况队列”(至少在我们的版本中,我不认为去年是这样做的)-https://docs.gitlab.com/ee/ci/runners/#how-shared-runners-pick-jobs
现在执行如下:
这带来了项目B可能依赖项目A的问题,并且如果在项目A中引入了API重大更改,则需要在项目B开始运行其测试之前将其部署到工件。
我尝试更改gitlab-runner config.toml中的设置,例如确保关闭并发构建,但似乎没有任何帮助。
我还尝试过将“测试”和“部署”阶段重命名为其他随机单词,以确保不会将来自不同管道的具有相同名称的阶段分组在一起。
我想知道是否有办法关闭共享运行程序的“共享使用情况队列”,并按工作编号的顺序顺序执行管道?