16

mocha テストと JSlint を使用して Gruntfile をセットアップしました。これは、ターミナルから grunt を実行するだけで問題なく動作します。

ジェンキンスからうなりたい!

私は新しい仕事を設定しました->そしてシェルスクリプトに組み込まれ、以下が含まれました:

/usr/local/bin/grunt

ジョブを実行すると、Jenkins の端末出力には次のように表示されます。

[workspace] $ /bin/sh -xe /tmp/hudson8550584576040162032.sh
+ /usr/local/bin/grunt
/usr/bin/env: node: No such file or directory
Build step 'Execute shell' marked build as failure
Finished: FAILURE

ノードバイナリがうまくいかないようです!?! しかし、ノードがインストールされ、ターミナルで正常に動作します!

すべてのバイナリ (mocha、grunt、node) は /usr/local/bin/ にあります

問題が何であるかを知っている人はいますか?それとも、誰かが jenkins で grunt.js をセットアップするためのリンクを持っているのでしょうか?

誰かが何かを得た?

どうも

4

3 に答える 3

19

これは、Jenkins が別のユーザーとして実行されるために発生/usr/local/bin$PATHます。

シェルスクリプトで、/usr/local/binが追加されていることを確認してください$PATH

export PATH="/usr/local/bin:$PATH"
# This will also mean you can call 'grunt' rather than '/usr/local/bin/grunt'
grunt

これには、 にインストールしたすべてのプログラムを呼び出すという追加の利点があり/usr/local/binます/usr/bin。この動作が望ましくない場合は、前に追加する代わりに追加するだけです。

export PATH="$PATH:/usr/local/bin"
# This will also mean you can call 'grunt' rather than '/usr/local/bin/grunt'
grunt
于 2013-05-17T14:57:21.613 に答える
1

正直なところ、私は Jenkins に精通していませんが、GruntJS を XCode カスタム ビルド ステップまたは TeamCity デプロイ プロセス内に統合したいときに同じ問題が発生しました。

grunt またはノードを実行する前に、シェル スクリプト内の PATH に /usr/local/bin/ を追加することで問題を解決しました。何かのようなもの:

PATH=${PATH}:/usr/local/bin
grunt

これがあなたにも役立つことを願っています:-)

于 2013-04-12T23:45:29.063 に答える