このLinuxサーバーには、「myuser」という名前のユーザーがいます。このユーザーの場合、パスをエコーすると、次のメッセージが表示されます。
/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プロジェクトは次の場所にあります:
/var/lib/jenkins/workspace/test
ビルドはシェルスクリプトを実行しています。そのウィンドウに入力しました:
#!/bin/bash
npm i
Jenkinsでビルドすると、次のようになります。
[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 Shellで、これを取得します。
[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とノードさえ見つかりません。ジェンキンスにnpm/nodeがどこにあるかを知るにはどうすればよいですか?私は最初にこれをシェルで書いてみました:
$ PATH =/home/myuser/.nvm/versions/node/v6.11.1/bin
しかし、まだ運はありません。
nodeJS plugin
ジェンキンスの場合は、それを見つけることができます ここ 。
プラグインをインストールしたら、jenkinsを再起動し、グローバル構成に移動してバージョンを指定します。
構成の詳細は、上記のリンクされているプラグインのドキュメントに記載されています。
Jenkins 2.xのプラグインページにアクセスするには:
単に
Manage Jenkins > Manage Plugins
ビュー。Jenkins環境の管理者が利用できます。 - https://jenkins.io/doc/book/managing/plugins/
ただし、CIプロセスのプラグインの代わりに pipelines を使用することをお勧めします。
パイプラインは、ソフトウェア配信パイプラインの一部を説明するための指示です。
このパイプライン設定をjenkinsのnode.jsプロジェクトに追加して実行します。
pipeline {
agent {
docker {
image 'node:6-Alpine'
args '-p 3000:3000'
}
}
environment {
CI = 'true'
}
stages {
stage('Build') {
steps {
sh 'npm install'
}
}
stage('Test') {
steps {
sh './jenkins/scripts/test.sh'
}
}
}
}
ご覧のとおり、これはアプリケーションのbuildingとtestingの2つのステージを実行します。 npm
は、Dockerイメージを介してインストールされますnode:6-Alpine
。
Jenkinsのドキュメントには、CIを介してnodejsアプリを構築するための完全なチュートリアルがあります。 https://jenkins.io/doc/tutorials/build-a-node-js-and-react-app-with-npm/ =
このスレッドの答えは私を助けませんでした、助けたのは私のJenkinsfileにnode.jsツールを追加することでした:
pipeline {
agent any
tools {nodejs "nodejs"}
stages {
stage('Example') {
steps {
sh 'npm config ls'
}
}
}
}
文字列"nodejs"
はname
であり、global tool configuration
でnode.jsツールを指定します
NodeJSをインストールした後、PCを再起動すると、npmがJenkinsに表示されます
node.jsをインストールするためにnvmを使用しました
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
. ~/.nvm/nvm.sh
nvm install 4.4.5
node -v //4.4.5
また、ジェンキンスでは、ジェンキンスの管理>>グローバルツールconf >> Nodejsのインストール