如何解决GitLab Docker 构建锁定在快速下载超时
在 Gitlab 作业管道中的 Docker 构建期间,进程被冻结
- sharp@0.28.3 安装 /app/node_modules/sharp
- (node install/libvips && node install/dll-copy && prebuild-install) || (node install/can-compile && node-gyp rebuild && node install/dll-copy)
- 尖锐:下载https://github.com/lovell/sharp-libvips/releases/download/v8.10.6/libvips-8.10.6-linux-x64.tar.br
1 小时后构建被超时杀死。
Dockerfile:
FROM node:14.17.0
workdir /app
ARG NODE_ENV=dev
ENV NODE_ENV $NODE_ENV
ENV PORT 3005
copY ["package.json","tsconfig.json","./"]
RUN npm install --unsafe-perm
copY ./src ./src
copY ./views ./views
RUN npm run build
EXPOSE $PORT
CMD ["npm","start"]
我尝试在我的 Windows 环境中构建 docker 没有任何问题。
解决方法
解决方法:
如果您无法升级,请更改 node_modules/sharp/binding.gyp
中的这一行:
'-std=c++0x',
致:
'-std=c++14',
然后运行 npm rebuild
实际解决方案:升级。
我强制 package.json
上的分辨率使用新版本的 Sharp,我可以安装和运行,但是由于 Node 16,我的 node-sass 崩溃了。
我删除了清晰的分辨率并将 gitlab CI Docker 中的图像降级到 node:14
现在一切正常,所以似乎是 Node 而不是 Sharp 的问题。
OP Pid 在 the comments 中确认已通过更新主机操作系统 Ubuntu (20.04) 解决了该问题。
但这会导致 lovell/sharp issue 2817,而这又需要 GitLab 支持。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。