Сборка gitlab-ci не работает для grpc

Моя сборка node.js перестала работать на серверах gitlab-ci 2 дня назад. И я не очень понимаю, почему. Еще немного информации:

  • package.json файл не изменился, когда сборка ci перестала работать
  • Даже старые ci-билды, которые были в порядке несколько дней назад, больше не работают, когда я перезапускаю их
  • Сборка все еще работает на моей машине для разработки Windows (даже после удаления node_modules и переустановки)

Вот выдержка из журнала ошибок:

> grpc@1.16.0 install /builds/vallen-bridge/source/server/node_modules/grpc
> node-pre-gyp install --fallback-to-build --library=static_library

node-pre-gyp WARN Using request for node-pre-gyp https download 
node-pre-gyp WARN Tried to download(404): https://node-precompiled-binaries.grpc.io/grpc/v1.16.0/node-v67-linux-x64-glibc.tar.gz 
node-pre-gyp WARN Pre-built binaries not found for grpc@1.16.0 and node@11.1.0 (node-v67 ABI, glibc) (falling back to source compile with node-gyp) 
node-pre-gyp WARN Pre-built binaries not installable for grpc@1.16.0 and node@11.1.0 (node-v67 ABI, glibc) (falling back to source compile with node-gyp) 
node-pre-gyp WARN Hit error Connection closed while downloading tarball file 
make: Entering directory '/builds/vallen-bridge/source/server/node_modules/grpc/build'
make: Entering directory '/builds/vallen-bridge/source/server/node_modules/grpc/build'
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init.o
  CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init.o
rm: cannot remove './Release/.deps/Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init.o.d.raw': No such file or directory
grpc.target.mk:470: recipe for target 'Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init.o' failed
make: *** [Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init.o] Error 1
make: Leaving directory '/builds/vallen-bridge/source/server/node_modules/grpc/build'
gyp ERR! build error 

Кажется, что двоичные файлы grpc не могут быть загружены, и в качестве резервной системы система пытается собрать пакет из исходного кода, который также не работает. GRPC требуется firebase-admin:

npm ls grpc
`-- firebase-admin@6.1.0
  `-- @google-cloud/firestore@0.18.0
    `-- google-gax@0.20.0
      `-- grpc@1.16.0

Любая идея, почему это может произойти, или идеи для обхода?
т.е. версия настроена как "firebase-admin": "^6.1.0", в моем package.jsonтак что не должно быть никаких серьезных изменений, верно?

1 ответ

Решение

Как упоминалось Kickapoo, это проблема с grpc на узле 11: grpC#594

Обходной путь пока что должен использовать узел 10: то есть в начале .gitlab-ci.yml:

image: node:10

В моем случае я перехожу на node:8-jessie, и он отлично работает, но тот же принцип!!


ОБНОВИТЬ!

Взгляните на https://hub.docker.com/_/node?tab=tags, и вы увидите все комбинации версий узлов и версий Debian, которые вы можете использовать, просто не используйте узел 12

Другие вопросы по тегам