【发布时间】:2019-02-21 13:05:51
【问题描述】:
当使用 NodeJS 插件在 Jenkins Groovy 管道中执行“npm install”时,我遇到了一个令人沮丧的问题,进程挂起并出现以下错误 -
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 Docker 中执行该命令时,安装包不会出现问题,因为 Jenkins 用户使用相同的节点安装。
Docker 实例不受 CPU 或 RAM 限制。
设置是在 Docker 容器内运行的 Jenkins v2.138.1,而后者又托管在 EC2 v2018.03 上。 Jenkins home 作为 EFS 卷挂载。 JVM 在 Java v1.8.0_181 上运行。 NPM 是 v5.1.1。
任何指针将不胜感激。
回复第一个建议
是的,有直接的互联网连接,没有任何代理。如果安装了单个包,例如
npm install ng-cli
npm install 没有问题。
【问题讨论】:
-
您是否验证了互联网连接?
-
不——不是注册表问题,因为这是预设的。
标签: docker jenkins npm jenkins-plugins