Jenkins docker-compose:
version: '2' services: jenkins: cpu_shares: 512 image: jenkins:2.46.1 mem_limit: 2g ports: - 80:8080 - 50000:50000 privileged: true user: root volumes: - /home/ec2-user/jenkins_home:/var/jenkins_home - /var/run/docker.sock:/var/run/docker.sock - /usr/bin/docker:/usr/local/bin/docker - /lib64/libdevmapper.so.1.02:/usr/lib/libdevmapper.so.1.02 - /lib64/libudev.so.0:/usr/lib/libudev.so.0 - /home/ec2-user/.m2:/root/.m2
Job configuration:
#!groovy
node {
timeout(20 /* minutes */) {
// Need to replace the '%2F' used by Jenkins to deal with / in the path (e.g. story/...)
// because tests that do getResource will escape the % again, and the test files can't be found.
// See https://issues.jenkins-ci.org/browse/JENKINS-34564 for more.
ws("workspace/${env.JOB_NAME}") {
stage('Checkout') {
checkout scm
}
stage('Build') {
parallel api: {
mvn 'clean install -DskipTests -Pprod'
archiveToS3 'api/target/api*-standalone.jar'
}, web: {
dir('frontend') {
npm 'install -d'
npm 'run build-web'
dir('web-react/build') {
sh "tar zcf ../../web.tar.gz ./*"
}
archiveToS3 'web.tar.gz'
}
}, failFast: true
}
...
def npm(args) {
nodejs(nodeJSInstallationName: 'node6LTS') {
sh "npm $args"
}
}
Job stuck on the stepÂ
npm 'install -d'
After some time (less than 20 minutes) the job fails with the log like this
... [web] npm info attempt registry request try #1 at 5:43:32 AM [web] npm http request GET https://registry.npmjs.org/http-errors [web] npm http 304 https://registry.npmjs.org/http-errors [web] npm info lifecycle <my-project-name>@1.2.1~preinstall: <my-project-name>@1.2.1 [web] Killed [Pipeline] [web] } [Pipeline] [web] // wrap [Pipeline] [web] } [Pipeline] [web] // dir [Pipeline] [web] } [web] Failed in branch web [Pipeline] // parallel [Pipeline] } [Pipeline] // stage [Pipeline] } [Pipeline] // ws [Pipeline] } [Pipeline] // timeout [Pipeline] } [Pipeline] // node [Pipeline] End of Pipeline ERROR: script returned exit code 137 Finished: FAILURE
This behavior I encountered with Jenkins 2.19.4 after some plugins updates (about 7 April). Even after migration to Jenkins 2.46.1 I have the same issue.
When I run the same command manually locally or on the same Jenkins job workspace it works well. I don't know if it is related to NodeJs plugin, or any other plugins, or Jenkins itself.
Sometimes it works but it is a very rare case about 1 from 30 executions.
P.S.:
It is a blocker for us. Any hint or workaround is appreciated.