我试图通过在我的一个瓶颈构建作业中使用" parallel: 4 "关键字为一个作业运行多个线程来减少Gitlab管道执行时间。有了这个,我可以看到我的工作作为4个线程的名字像1/4到4/4,但执行不是并行的,他们按顺序执行,有人能帮助我理解为什么会发生这种情况,以及通过并行运行来减少构建时间的任何其他方法吗?
这是一个棘手的问题,因为最好的答案是视情况而定。
关于并行指令的文档也说明
作业只能并行运行,如果有多个运行程序,或者一个运行程序被配置为并发运行多个作业。
另外,这里也再次提到https://docs.gitlab.com/ee/ci/yaml/README.html#use-your-own-runners
-
您使用自己的跑步机还是使用共享的跑步机?
必须将运行程序配置为允许并发执行,如果它们不这样配置,您将无法并行运行作业。有了自己的跑者,你也许可以改变这个。
concurrent:限制全局可以并发运行的作业数量。使用所有已定义的运行程序的作业的最大上限。0不代表无限制
-
在运行器上并行执行的限制是多少?
除了
concurrent
设置之外,还有转道上的限制设置。limit:限制此令牌可以并发处理的作业数量。0(默认值)表示不限制。
所有关于运行程序的信息都可以在GitLab文档
中查看。