Dockerised Jenkins Hangs NPM Install

727 views
Skip to first unread message

sweeny_here

unread,
Sep 20, 2018, 7:31:44 PM9/20/18
to Jenkins Users
Hello there - I've a frustrating issue when "npm install" is executed inside a Jenkins Groovy pipeline using the NodeJS plugin, the process hangs with the following error -

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 n...@5.5.1
npm info using no...@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

When the command is executed directly on the EC2, the package installs without issue as the Jenkins user.

Also when the npm install is executed inside the Jenkins Docker, the package installs without issue as the Jenkins user using the same Node installation.

The Docker instance is not limited by CPU or RAM.

The setup is Jenkins v2.138.1 running inside a Docker container, which in turn is hosted on an EC2 v2018.03. Jenkins home is mounted as an EFS volume. The JVM is running on Java v1.8.0_181. NPM is v5.1.1.

Any pointers would be much appreciated.

sweeny_here

unread,
Sep 21, 2018, 4:45:43 AM9/21/18
to Jenkins Users

The issue is now resolved and consisted of two parts -

First off - the EFS mount point directory (/var/jenkins_home) required permissions of 777, it doesn't need to be a recursive permission.

The new EFS disk had content migrated from the old Jenkins EFS and this was also contributing to this issue. The fix was to not transfer any content from the old EFS to the new EFS via the backup.tar.gz feature. The new Jenkins is working as expected with npm install.

Dockerfile pulled from - https://hub.docker.com/r/jenkins/jenkins/

Baptiste Mathus

unread,
Sep 21, 2018, 5:52:01 PM9/21/18
to jenkins...@googlegroups.com

Also, I seem to understand you're running your workload on the master node. You want to strongly prefer setting the master with 0 executor, and run builds on agents.

Cheers

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/e872fc84-7f4c-4378-a17b-f8bdb0dc379e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages