在Jenkins的镜像中集成NodeJS插件,发现node和npm都无法执行,最终确认之后定位为libc的问题,在这篇文章中进行memo。中介来说,这个问题还可以描述为:如何在Alpine镜像中支持NodeJS,或者如何在Alpine镜像中使用npm和node。
现象描述
安装了NodeJS插件之后,创建了一个FreeStyle的Job来确认NPM的正常动作
结果却发现,npm和node获取版本的命令都无法正常动作。
Started by user root
Running as SYSTEM
Building in workspace /data/jenkins/workspace/nodejs-freestyle-job
[nodejs-freestyle-job] $ /bin/sh -xe /tmp/jenkins8839673353818507589.sh
+ npm -v
env: ‘node’: No such file or directory
Build step 'Execute shell' marked build as failure
Finished: FAILURE
原因分析
NodeJS插件也是将NodeJS的安装包下载到本地,然后设定PATH所起的作用。经确认,已经成功下载,并且解压后的包的整个大小也使用du命令进行了确认,和官网下载解压下来大小一致。
/data/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/nod