ソース管理には Mercurial (hg) を使用し、中央リポジトリを使用します (各開発者には独自のローカルもあります)。Jenkins CI ビルドを開始するように、中央リポジトリにフックを設定しようとしています。
フックは、hgrc ファイルに次のように表示されます。
[hooks]
incoming.jenkins = java -jar C:/buildServerJar/jenkins-cli.jar -s http://ctc-jenkins:8080/ -i C:/buildServerJar/id_rsa build "All Working Projects"
[ui]
verbose = True
debug = True
ここで、中央リポジトリをホストするマシンのコマンド ラインのフックから呼び出されたコマンドをテストしたところ、期待どおりに動作しました。
ただし、中央リポジトリへのプッシュでフックをトリガーすると、次の出力が表示されます。
% hg --repository D:\dev\hg\******\source push W:\Repository\*********
pushing to W:\Repository\**********
searching for changes
adding changesets
add changeset 62784303122b
adding manifests
adding file changes
adding ****/CMakeLists.txt revisions
added 1 changesets with 1 changes to 1 files
updating the branch cache
running hook incoming.jenkins: java -jar C:/buildServerJar/jenkins-cli.jar -s http://ctc-jenkins:8080/ -i C:/buildServerJar/id_rsa build "All Working Projects"
warning: incoming.jenkins hook exited with status 1
[command completed successfully Fri Jul 26 15:24:58 2013]
問題のサーバーは Windows マシンです。何がうまくいかないのか、またはエラーの詳細を取得する方法はありますか?
アップデート:
そこで、フックを変更して詳細情報を取得しました。
incoming.jenkins = java -jar C:/buildServerJar/jenkins-cli.jar -s http://ctc-jenkins:8080/ -i C:/buildServerJar/id_rsa build "All Working Projects" > hg_output.log 2> hg_errors.log
そして、明らかに指定された場所にある jarfile を見つけることができないと表示されます。パーミッションの問題かどうか疑問に思います。Mercurial がフックを実行するユーザー アカウントを誰か知っていますか?
Error: Unable to access jarfile C:/buildServerJar/jenkins-cli.jar