2016-07-13 14 views
0

私はJenkinsプロジェクトを実行中に認識されない問題が発生しています。しかし、私はハードコードされたパスを含めることによってそれを動作させることができることを知っています'bower'は認識されません.Jenkinsにgrunt、bowerをインストールします。

C:\Users\clang\AppData\Roaming\npm 

私のパス環境変数に。これは私がそれをしたいと思う方法ではありません。

私の目標は、これらのコマンドをローカルでダウンロードし、インストールして実行できるようにすることです。パスをハードコーディングせずに、これらのコマンドをローカルで実行できるようにすることです。パス。これは現在実行中のバッチスクリプトです。

set PATH=%PATH%; %WORKSPACE%\.bin; 
call npm install 
call npm install bower 
call npm install grunt-cli 
call bower install 
call grunt build 

バウアーとうなり声が、このことにより、インストールされている場合、bower.cmdとgrunt.cmdは、このディレクトリに配置されてい

C:\Program Files (x86)\Jenkins\workspace\ClearWork\.bin 

私が先頭に実行しているコマンドは、実際にはないと評価されるとこれらのコマンドファイルが置かれているディレクトリをインクルードしてください。何らかの理由で、bowerとgruntが認識されないというエラーが表示されます。

Jenkins%Workspace%環境変数に問題がないことを確認するために、私は同じ結果を与えた場所をハードコーディングしました。

+0

にnode_modules/.binファイルを追加するので

call npm run bower:install call npm run grunt:build 

を:OUを呼び出すことができるでしょうか?ダブルクリックしますか? – aschipfl

+0

Jenkinsがバッチスクリプトを実行しているときに、 C:¥Program Files(x86)¥Jenkins¥workspace¥ClearWork –

+0

コマンドラインで両方の場所に移動すると、私は2つの異なるエラーを取得します。 C:\ Users \ clang \ AppData \ Roaming \ npmの場合は、bowerをインストールすると "No bower.json"というエラーが表示されますが、bowerをインストールすると "Name is lowercase ..."というエラーが表示されますC:¥Program Files(x86)¥Jenkins¥workspace¥ClearWork¥.bin –

答えて

1

オプション1

call node_modules/.bin/bower install 
call node_modules/.bin/grunt build 

オプション2

がpackage.jsonにスクリプトとしてこれらを追加します。

(package.json内)

"scripts": { 
    "bower:install": "bower install", 
    "grunt:build": "grunt build" 
    } 

今y NPMは自動的にあなたからあなたのバッチスクリプトを実行しないディレクトリの場所のパス

+0

oh man答えに感謝します。私はオプション1を使いました。パス変数の使用方法については、どうやって相対パスで呼び出すのか分かりませんでした。絶対パスを使う必要があると思ったのは、それが私がすべての例で見てきたことだからです。本当にありがとう! –

+0

問題はありません:-)。お役に立てて嬉しいです。 – CaptEmulation

関連する問題