2017-08-28 513 views
1

在这台linux服务器上,我有一个名为“myuser”的用户。 对于这个用户,当回显路径时,我得到这个:Jenkins找不到npm

/home/myuser/bin:/home/myuser/.local/bin:/home/myuser/.nvm/versions/node/v6.11.1/bin:/ usr/local/sbin:/ usr/local/bin:/ usr/sbin:/ usr/bin:/ sbin:/ bin:/ usr/games:/ usr/local/games:/ snap/bin

有一个节点的应用程序,手动部署当我运行:

npm i 

和它的作品。

现在,我安装了詹金斯。詹金斯项目我试图安装位于:

/var/lib/jenkins/workspace/test 

构建正在执行shell脚本。在该窗口中我进入:

#!/bin/bash 
npm i 

当詹金斯建设,我得到这个:

[test] $ /bin/bash /tmp/jenkins756533162549346948.sh 
/tmp/jenkins756533162549346948.sh: line 3: npm: command not found 
Build step 'Execute shell' marked build as failure 
Finished: FAILURE 

如果我只写

echo $PATH 
在詹金斯

外壳,我得到这个:

[test] $ /bin/sh -xe /tmp/jenkins5067097808572366507.sh 
+ echo /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin 
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin 
[test] $ /var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/6.11.1/bin/node /tmp/jenkins8733250738704177758.js 
Finished: SUCCESS 

正如你所看到的,我安装了nodejs插件。 无论如何,当使用jenkins shell时,找不到npm和偶节点。 我如何让Jenkins知道npm/node在哪里? 我试图在shell首先写:

$ PATH = /家/ myuser的/ .nvm /版本/节点/ v6.11.1/bin中

不过还是运气。

+0

Jenkins推出新壳... – Malice

+0

所以你可能想要更新jenkins脚本本身的PATh .. – Malice

+0

是的,我更新了詹金斯壳本身的路径,但仍然没有运气。 – oderfla

回答

2

只要安装了nodeJS plugin的詹金斯,你可以找到它here

安装插件后,重新启动jenkins,然后转到全局配置以指定版本。

配置的全部细节可以在上面链接的插件文档中找到。

+1

好的我缺少的是检查这个复选框:“提供Node和npm bin /文件夹到PATH”。当我这样做时,shell执行没有错误。 – oderfla