このLinuxサーバーでは、 "myuser"という名前のユーザーがいます。 このユーザーの場合、パスをエコーすると、次のようになります。ジェンキンスが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
そして、それは動作します。
今、私はJenkinsをインストールしました。 JenkinsプロジェクトImのインストール先:
/var/lib/jenkins/workspace/test
ビルドはシェルスクリプトを実行しています。そのウィンドウでは、私が入った:
#!/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シェルを使用している場合、npmと偶数ノードは見つかりません。 npm/nodeの場所をJenkinsに知らせるにはどうすればよいですか? 私は、最初の書き込みにシェルで、この試みている:
$ PATH = /ホーム/ myuserの/ .nvm /バージョン/ノード/ v6.11.1/binに
をしかし、まだ運に。
ジェンキンスは新しいシェルを起動します。 – Malice
ゲンキンズスクリプト自体の中でPAThを更新したいと思うかもしれません。 – Malice
はい、私はジェンキンズシェル自体のパスを更新しましたが、運がまだありません。 – oderfla