Windows Server 2008 R2でJenkins v1.550をセットアップしました。現時点では、http://localhost:8080
でサービスとして実行されます。管理者としてマシンにログインしています。 Node.jsをインストールし、コマンドラインから「npm」を実行できます。
Jenkins用のNodeJSプラグインv0.2.1もインストールしました。次に、Jenkinsの[システムの構成]セクションに移動し、NodeJSインストールまでスクロールダウンし、[NodeJSの追加]ボタンをクリックし、名前に「NodeJS」、インストールディレクトリへのパスに「C:\ Program Files\nodejs」を指定しました。プラグインページでLinuxでのみ使用できることを読んだときに、「自動的にインストール」オプションをチェックしませんでした。
次に、新しいジョブを作成し、「Provide Node&npm bin/folder to PATH」というチェックボックスをクリックして、「Execute Windows batch command」の新しいビルドステップを作成し、「node --version "および" grunt --version "で保存しました。
私は仕事を実行し、これは出力です-
Building in workspace C:\Program Files (x86)\Jenkins\workspace\Test_1.0
[Test_1.0] $ cmd /c call C:\Windows\TEMP\hudson1381541243088903083.bat
C:\Program Files (x86)\Jenkins\workspace\Test_1.0>node --version
v0.10.24
C:\Program Files (x86)\Jenkins\workspace\Test_1.0>grunt --version
'grunt' is not recognized as an internal or external command,
operable program or batch file.
C:\Program Files (x86)\Jenkins\workspace\Test_1.0>exit 9009
Build step 'Execute Windows batch command' marked build as failure
Finished: FAILURE
Jenkinsが(システム)で実行されているユーザーアカウントのgrunt-cliが見つからないようです。 grunt cliをグローバルに(npm install -g grunt-cli
)インストールし、ローカルにgruntをインストールしようとしました(npm install grunt
)。運がありません。
誰か助けてくれますか?
マシンに自己インストールされたnodejsを簡単に構成するには、優れたものを推奨する必要があります-> http://wiki.jenkins-ci.org/display/JENKINS/NodeJS+Plugin
nodejsをインストールし、使いやすいWebフロントエンドを介してマシンにうなり声を出して、シェルは不要です。
ジェンキンスのジョブは単純にnodejsビルドステップを実行できます
関連する手順:
a)これをjenkinsインスタンスにインストールします-> http://wiki.jenkins-ci.org/display/JENKINS/NodeJS+Plugin
b)jenkinsにnodejsインストールを作成する
に行きます
http://URL_OF_JENKINS/jenkins/configure
c)「NodeJSスクリプトの実行」ビルドタスクでジョブを作成する
var sys = require('sys');
sys.puts('NodeJS Test');
sys.puts('***************');
sys.puts('helloworld');
volia :)
ジョブを実行し、nodejsスクリプトの実行を確認します。
彼らの世界からあなたのオイスターです。「Node/npm binフォルダーをPATHに提供する」にチェックを入れ、「シェルを実行」ビルドタスクを実行することにより、うなり声を使用できます。
npm update
grunt
grunt --force reporting
ノードをインストールした後、おそらくPATH
環境変数のキャッシュコピーを更新するために、Jenkinsサービスを再起動する必要があります。
私はジェンキンスで私のためにいくつかのタスクを実行するためにうんざりしていますが、私はnpmスクリプトルートに行きました。 Gruntとgrunt-cliはdev依存関係であり、package.jsonファイルで次のものが定義されています。
"scripts": {
"test": "node node_modules/grunt-cli/bin/grunt test"
},
Jenkins(Windowsで実行)で、2つのビルド後タスクを追加しました。
npm install
npm test
通常、JenkinsサーバーにNodeJをインストールしました。
Windowsでも同じ問題がありました。ノードを手動でインストールし、コマンドラインからnpm install -g grunt-cliを実行すると、jenkinsはgruntコマンドを認識できませんでした。したがって、ノードをアンインストールして再インストールしますが、npm installは実行しないでください。次に、ジェンキンススレーブを再起動します。次に、特定のjenkinsスレーブで実行されるjenkinsジョブから、npm install -g grunt-cliを実行するWindowsバッチコマンドを実行します。その後、jenkinsサービスを再起動します。次に、ジョブからnpm installを実行します。その後、すべてが私のために働いた。それでも問題が解決しない場合は、スレーブをアンインストールしてから再インストールすると、すべてがすぐに正常に機能します。
Windows上で私のために働いた別の解決策は、コマンドシェルで「where grunt」と書くことで見つけることができるgrunt execファイルへのフルパスを使用することです。通常のbatファイルでフルパスを使用しました。