jenkins找不到npm
在这个linux服务器上,我有一个名为“myuser”的用户。 对于这个用户,当回显path时,我得到这个:
/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 /游戏:在/ usr /本地/游戏:/卡/箱
有一个节点应用程序,手动部署时运行:
npm i
它工作。
现在,我安装了Jenkins。 jenkins项目我试图安装位于:
/var/lib/jenkins/workspace/test
构build正在执行shell脚本。 在那个窗口我input了:
#!/bin/bash npm i
当与jenkinsbuild立,我得到这个:
[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
在jenkins的壳里,我得到这个:
[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和even节点都找不到。 我如何让Jenkins知道npm / node在哪里? 我试图先在shell中写这个:
$ PATH = /家/ myuser的/ .nvm /版本/节点/ v6.11.1 /箱
但还是运气好。
只要安装nodeJS plugin
,你可以在这里find它。
安装插件后,重新启动jenkins,并转到全局configuration指定版本。
完整的configuration细节可以在上面链接的插件文档中find。