我使用自托管GitLab CI server
(社区版v8.9.5)和gitlab-ci-multi-runner
1.2.0来构建项目。我的一个管道阶段(测试)需要一段时间才能运行,我得到以下erm:
ERROR: Build failed: execution took longer than 3600 seconds
我在哪里为此超时设置覆盖?我可以将它应用于测试管道阶段吗?
答案 0 :(得分:29)
这是在GitLab中设置的。请参阅旧版本中的“项目设置 - > CI / CD管道 - >超时”或“项目设置 - >构建 - >超时”。
我担心不可能在每个阶段或工作中设置它。
答案 1 :(得分:8)
在Gitlab 12.3中引入了特定于作业的超时
https://docs.gitlab.com/ce/ci/yaml/README.html#timeout
build:
script: build.sh
timeout: 3 hours 30 minutes
test:
script: rspec
timeout: 3h 30m
答案 2 :(得分:3)
可以设置两个超时:项目超时和运行器超时。
项目超时:
可以通过设置-> CI / CD -> 常规管道
设置每个作业的超时时间跑步者超时:
可以从设置-> CI / CD -> 赛跑者设置赛跑者的超时,然后从为这个项目,然后从运行者编辑表单中编辑最大作业超时。
请注意,这两种类型的超时可以被彼此覆盖。请参阅docs。
答案 3 :(得分:1)
如果在Gitlab上运行它,那么上述答案已经告诉了正确的方法。但是,如果您也想在本地使用自己的跑步者来运行Gitlab CI,那么跑步者超时就需要通过命令传递。
gitlab-runner exec docker job_name --timeout 3600
此处将跑步者超时设置为3600秒