GitLab CI管道阶段超时

时间:2016-07-15 19:22:03

标签: timeout gitlab-ci

我使用自托管GitLab CI server(社区版v8.9.5)和gitlab-ci-multi-runner 1.2.0来构建项目。我的一个管道阶段(测试)需要一段时间才能运行,我得到以下erm:

ERROR: Build failed: execution took longer than 3600 seconds

我在哪里为此超时设置覆盖?我可以将它应用于测试管道阶段吗?

4 个答案:

答案 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 -> 常规管道

设置每个作业的超时时间

enter image description here

跑步者超时:

可以从设置-> CI / CD -> 赛跑者设置

赛跑者的超时,然后从为这个项目,然后从运行者编辑表单中编辑最大作业超时enter image description here

请注意,这两种类型的超时可以被彼此覆盖。请参阅docs

答案 3 :(得分:1)

如果在Gitlab上运行它,那么上述答案已经告诉了正确的方法。但是,如果您也想在本地使用自己的跑步者来运行Gitlab CI,那么跑步者超时就需要通过命令传递。

gitlab-runner exec docker job_name --timeout 3600

此处将跑步者超时设置为3600秒