Gitlab CI Runner 卡住了,ssh 没有响应
Gitlab CI Runner get stuck, ssh not responding
我在 aws EC2 实例中创建了一个 gitlab runner,我有以下 ci 脚本:
stages:
- unit_test
- cleanup_build_when_fail
- deploy_to_sit
unit_test:
stage: unit_test
script:
- export PATH=$PATH:/opt/gradle/gradle-5.0/bin
- export SPRING_PROFILES_ACTIVE=test
- gradle clean test
- echo "unit_test completed!"
when: always
... with other scripts
有时,unit_test 阶段会在 1 分钟内正确完成。
但有时它会卡住直到超时,当它卡住时,ec2 实例甚至没有响应。我必须重新启动 ec2 实例,以便我可以再次连接到它。这是卡住时的输出:
$ export PATH=$PATH:/opt/gradle/gradle-5.0/bin
$ export SPRING_PROFILES_ACTIVE=test
$ gradle clean test
> Task :clean UP-TO-DATE
> Task :compileJava
> Task :processResources
> Task :classes
> Task :compileTestJava
> Task :processTestResources
> Task :testClasses
我不知道如何解决这个问题,请帮忙。
更新:任务没有超时,这是我从gitlab看到的
Duration: 16 minutes 58 seconds
Timeout: 15m (from project)
终于找到解决办法了,就是OOM。
解决方案是为您的构建设置最大内存限制,例如:nodejs(yarn) 或 spring (gradle)
我在 aws EC2 实例中创建了一个 gitlab runner,我有以下 ci 脚本:
stages:
- unit_test
- cleanup_build_when_fail
- deploy_to_sit
unit_test:
stage: unit_test
script:
- export PATH=$PATH:/opt/gradle/gradle-5.0/bin
- export SPRING_PROFILES_ACTIVE=test
- gradle clean test
- echo "unit_test completed!"
when: always
... with other scripts
有时,unit_test 阶段会在 1 分钟内正确完成。
但有时它会卡住直到超时,当它卡住时,ec2 实例甚至没有响应。我必须重新启动 ec2 实例,以便我可以再次连接到它。这是卡住时的输出:
$ export PATH=$PATH:/opt/gradle/gradle-5.0/bin
$ export SPRING_PROFILES_ACTIVE=test
$ gradle clean test
> Task :clean UP-TO-DATE
> Task :compileJava
> Task :processResources
> Task :classes
> Task :compileTestJava
> Task :processTestResources
> Task :testClasses
我不知道如何解决这个问题,请帮忙。
更新:任务没有超时,这是我从gitlab看到的
Duration: 16 minutes 58 seconds
Timeout: 15m (from project)
终于找到解决办法了,就是OOM。
解决方案是为您的构建设置最大内存限制,例如:nodejs(yarn) 或 spring (gradle)