[英]GitLab pipeline exiting with error code 137 when running Cypress
我正在创建一个基于 alpine:3.13 的 Docker 镜像,用于我的测试阶段,在 GitLab 的管道中运行。
在那里我安装了所有的依赖项。 该应用程序由两个组件组成,我将它们称为前端和后端。
我运行以下命令设置前后,最后在无头模式下执行 cypress。
"e2e:run": "concurrently -n front, back \"yarn front\" \"yarn back\" \"yarn front:wait && yarn back:wait && yarn cypress:run\""
它可以很好地构建正面和背面,但是在我最终获得此退出代码之前,作业日志在几分钟内没有显示任何进度:
ERROR: Job failed: command terminated with exit code 137
从我目前的研究来看,我得出的结论似乎与记忆力不足有关。
正如@SamBob 所提到的,这个问题很可能是由于正在运行的shm_size
容器内的内存不足,而shm_size
参数可以增加它。 但是,由于您没有指导在作业中运行您的图像(即,执行gitlab-runner
docker run...
)而是gitlab-runner
进程,因此您必须在 Docker 执行程序的 Runner 配置中设置shm_size
参数. 为此,您还必须运行自己的跑步者(如果您还没有)。
运行你自己的运行器时,每个运行器都会在/etc/gitlab-runner
中有一个config.toml
文件,默认情况下如下所示:
listen_address = ":9252"
concurrent = 1
check_interval = 0
[session_server]
session_timeout = 1800
[[runners]]
name = "runner-1"
url = "https://gitlab.example.com"
token = "TOKEN"
executor = "docker"
[runners.custom_build_dir]
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.docker]
image = "alpine:latest"
privileged = false
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/cache"]
shm_size = 0
如您所见,默认情况下shm_size
参数设置为 0 字节。 您可以编辑此文件以增加shm_size
,然后重新启动gitlab-runner
服务以重新加载新配置。
我对我的跑步者做的另一件事是在我shm-increased
那些跑步者上添加一个shm-increased
标签,因为我的管道中只有几个工作需要更多的共享内存。
要查看有关运行您自己的 Gitlab Runners 的更多信息,请参见此处。
要了解有关 Gitlab Runners 的shm_size
参数和其他高级运行器配置选项的更多信息,请参阅此处。
要查看有关标记跑步者和作业的信息,请参见此处。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.