2017-08-28 73 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