【发布时间】:2018-12-19 08:30:09
【问题描述】:
我在 aws EC2 实例中创建了一个 gitlab 运行器,并且我有以下 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)
【问题讨论】:
-
你在测试什么?您没有任何 HTTP 调用或其他可以阻止/卡在其中的操作吗?
-
测试启动一个 spring boot 应用程序并对测试数据库执行 crud 操作。如果 HTTP 调用阻塞了 CI,我认为默认超时应该断开连接。测试可能会卡住一个多小时
标签: gradle amazon-ec2 gitlab-ci gitlab-ci-runner