2016-04-12 10 views
9

次のドッカーイメージjenkinsci/jenkins:2.0-rc-1を実行して、jenkins 2.0と「パイプライン」ビューを試しています。パイプラインプラグインを使用してjenkins 2.0にノードをインストール

ノードをインストールできないようです。ここに私のパイプラインのスクリプトは次のとおりです。

node { 
    //tool([name: 'node-5.10.1', type: 'jenkins.plugins.nodejs.tools.NodeJSInstallation']) 
    sh 'echo $(whoami)' 
    sh 'node -v' 
} 

応答これが実行される:

  • 使用時に正しく動作ジェンキンスNodeJSツール(:ここ

    [ci] Running shell script 
    + whoami 
    + echo jenkins 
    jenkins 
    [Pipeline] sh 
    [ci] Running shell script 
    + node -v 
    /../durable-3b0b1b07/script.sh: 2: /../durable-3b0b1b07/script.sh: node: not found 
    

    は、私が試したものですフリースタイルジョブで)

  • ドッカーコンテナにログインしてノードをインストールするeは、手動で、同じユーザーのために:

enter image description here

UPDATE:以下ジェシーグリックの答えに

ビル、私は私のスクリプトPATHに結果を追加しました:

については
node { 
    def nodeHome = tool name: 'node-5.10.1', type: 'jenkins.plugins.nodejs.tools.NodeJSInstallation' 
    env.PATH = "${nodeHome}/bin:${env.PATH}" 
    sh 'npm install' 
} 

答えて

16

どちらか

node { 
    withEnv(["PATH+NODE=${tool name: 'node-5.10.1', type: 'jenkins.plugins.nodejs.tools.NodeJSInstallation'}/bin"]) { 
    sh 'node -v' 
    } 
} 

または

node { 
    def nodeHome = tool name: 'node-5.10.1', type: 'jenkins.plugins.nodejs.tools.NodeJSInstallation' 
    sh "${nodeHome}/bin/node -v" 
} 

動作するはずです。さらなる提案については、JENKINS-28718を参照してください。

ところで、あなたはtypeパラメータを省略することができますし、単に簡潔にするため

tool 'node-5.10.1' 

を使用しています。

+0

ありがとう!それが宣言されるとすぐに働き始めたのは不思議です。私はそれをローカルパスに追加することでさらに進歩したので、後でスクリプトで "ノード"を実行することができました - 私は今質問を更新します – seanxe

+0

偉大な答えですが、フォローアップの質問...グローバルにインストールされたnpmパッケージもパスに含まれていますか? –

6

私は次のコードを使用します:

node(){ 
    def nodeHome = tool 'nodejs5' 
    env.PATH="${env.PATH}:${nodeHome}/bin" 
    ... 
    sh 'npm install' 
} 

nodejs5は、Jenkins構成で指定されたツールの名前です。

+0

あなたは '$ PATH'の他のエントリを壊したくありません。 –

+0

うん、申し訳ありませんが、私のコードから多くを削除してください: 'env.PATH =" $ {env.PATH}:$ {nodeHome}/bin "'は答えを更新します –

1

でこの問題に対処する人は誰でもWindowsので動作しています。次のようにしてください:

def nodeHome = tool 'Node.js 6.9.5' 
bat "\"${nodeHome}\"\\node.exe -v" 
bat "\"${nodeHome}\"\\npm -v" 
関連する問題