2016-10-21 2 views
0

Мы установили непрерывную интеграцию/развертывание в веб-приложение Node.js. Проблема заключается в том, что, когда конвейер запускает тесты в контейнере докеров на сервере CI (GitLab CI), установка npm происходит с ошибкой в ​​случайное время. Контейнер использует узлы v5.0.0 и npm v3.3.6. Выход НОЙ установки является:Установка NPM всегда не удается получить реестр NPM в контейнере Docker в произвольные моменты времени

npm info retry will retry, error on last attempt: Error: getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443 
npm info retry will retry, error on last attempt: Error: getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443 
npm info attempt registry request try #3 at 4:39:19 PM 
npm http fetch GET https://registry.npmjs.org/commander/-/commander-2.8.1.tgz 
npm info attempt registry request try #3 at 4:39:19 PM 
npm http fetch GET https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz 
npm ERR! fetch failed https://registry.npmjs.org/commander/-/commander-2.8.1.tgz 
npm WARN retry will retry, error on last attempt: Error: getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443 
npm ERR! fetch failed https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz 
npm WARN retry will retry, error on last attempt: Error: getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443 
npm info retry fetch attempt 3 at 4:40:27 PM 
npm info attempt registry request try #1 at 4:40:27 PM 
npm http fetch GET https://registry.npmjs.org/commander/-/commander-2.8.1.tgz 
npm info retry fetch attempt 3 at 4:40:27 PM 
npm info attempt registry request try #1 at 4:40:27 PM 
npm http fetch GET https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz 
npm info retry will retry, error on last attempt: Error: getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443 
npm info retry will retry, error on last attempt: Error: getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443 
npm info attempt registry request try #2 at 4:40:45 PM 
npm http fetch GET https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz 
npm info attempt registry request try #2 at 4:40:45 PM 
npm http fetch GET https://registry.npmjs.org/commander/-/commander-2.8.1.tgz 
npm info retry will retry, error on last attempt: Error: getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443 
npm info retry will retry, error on last attempt: Error: getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443 
npm info attempt registry request try #3 at 4:41:53 PM 
npm http fetch GET https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz 
npm info attempt registry request try #3 at 4:41:53 PM 
npm http fetch GET https://registry.npmjs.org/commander/-/commander-2.8.1.tgz 
npm ERR! fetch failed https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz 
npm ERR! fetch failed https://registry.npmjs.org/commander/-/commander-2.8.1.tgz 
npm ERR! Linux 3.16.0-4-amd64 
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" 
npm ERR! node v5.0.0 
npm ERR! npm v3.3.6 
npm ERR! code ENOTFOUND 
npm ERR! errno ENOTFOUND 
npm ERR! syscall getaddrinfo 

npm ERR! network getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443 
npm ERR! network This is most likely not a problem with npm itself 
npm ERR! network and is related to network connectivity. 
npm ERR! network In most cases you are behind a proxy or have bad network settings. 
npm ERR! network 
npm ERR! network If you are behind a proxy, please make sure that the 
npm ERR! network 'proxy' config is set properly. See: 'npm help config' 

Я могу видеть, что НПЙ не может принести 2 раза из 3-х, так что кажется, как вопрос сети, но сервер CI работает на Compute Engine (у меня есть вера в Подключение к реестру Google и NPM ...). Поэтому я просто попытался перезапустить службу Docker, но это тоже не сработало.

Любые идеи об этом? Заранее спасибо !

Редактировать: В этот день произошел широкомасштабный перерыв DNS (21/10/16), может ли это быть причиной проблемы? Это также объясняет, почему другая сборка другого проекта потерпела неудачу на этапе развертывания вскоре после этого. См. https://www.wired.com/2016/10/internet-outage-ddos-dns-dyn/

+2

Сегодня произошло широкомасштабное перебои в DNS, из-за чего мои сборки npmjs завершились с аналогичными ошибками. См. Здесь: https://www.wired.com/2016/10/internet-outage-ddos-dns-dyn/ – davlet

+0

Спасибо за статью ..! Звучит как новый для меня новый, но не для того, чтобы убедить мою команду в том, что непрерывная доставка - это много ... – Loheek

ответ