Dockerised Jenkins Hangs NPM Установить - PullRequest
0 голосов
/ 17 сентября 2018

У меня неприятная проблема, когда "npm install" выполняется внутри конвейера Jenkins Groovy с использованием плагина NodeJS, процесс зависает со следующей ошибкой -

npm install --ddd ng-cli
npm info it worked if it ends with ok
npm verb cli [ '/var/jenkins_home/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/nodejs893-v2/bin/node',
npm verb cli   '/var/jenkins_home/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/nodejs893-v2/bin/npm',
npm verb cli   'install',
npm verb cli   '--ddd',
npm verb cli   'ng-cli' ]
npm info using npm@5.5.1
npm info using node@v8.9.3
npm verb npm-session e522ad0a36f1c038
npm sill install loadCurrentTree
npm sill install readLocalPackageData
npm http fetch GET 503 https://registry.npmjs.org/ng-cli 70252ms attempt #3
npm sill fetchPackageMetaData error for ng-cli@latest 503 Service Unavailable: ng-cli@latest
npm verb stack Error: 503 Service Unavailable: ng-cli@latest

Когда команда выполняется непосредственно на EC2, пакет устанавливается без проблем как пользователь Jenkins.

Также, когда команда выполняется внутри док-станции Jenkins, пакет устанавливается без проблем, как пользователь Jenkins, использующий ту же установку Node.

Экземпляр Docker не ограничен ЦП или ОЗУ.

Установкой является Jenkins v2.138.1, работающий внутри контейнера Docker, который, в свою очередь, размещается на EC2 v2018.03. Дом Дженкинса смонтирован как том EFS. JVM работает на Java v1.8.0_181. NPM v5.1.1.

Любые указатели приветствуются.

Ответ на первое предложение

Да, есть прямое подключение к интернету без прокси. Если установлен один пакет, такой как

npm install ng-cli

Установка npm работает без проблем.

1 Ответ

0 голосов
/ 21 сентября 2018

выпуск состоял из двух частей -

Прежде всего - для каталога точки монтирования EFS (/ var / jenkins_home) требуются разрешения 777, для этого не требуется рекурсивное разрешение.

На новом диске EFS было перенесено содержимое со старой EFS Jenkins, что также способствовало возникновению этой проблемы. Исправление заключалось в том, чтобы не переносить содержимое со старой EFS на новую EFS с помощью функции backup.tar.gz. Новый Jenkins работает, как и ожидалось, с установкой npm.

Dockerfile извлечен из - https://hub.docker.com/r/jenkins/jenkins/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...