Jenkinsをsvnのcommitからhookできません
Jenkinsをsvnのcommitからhookできません。
【環境】
- CentOS 6.7(VirtualBox)
- apache+tomcat8(ajp連携)
- Jenkins(warファイルをtomcatのwebappsに配置、rpmのインストールはしていない)
- subversion
【症状】
- svnのpost-commitファイルにJenkinsのジョブ呼び出し(wget)を記述していますが、ジョブが実行されません。svnをコミット後、「コミット中」がずっと続き、タイムアウトするかキャンセルするまでずっとその状態です。タイムアウト後にジョブの状態を見ても、ビルド失敗にはなっていないので、そもそも接続できていないようです。
【その他検証結果】
post-commitファイルを、コミットをトリガーとせず直接シェル実行すると、無事jenkinsのジョブは実行され、ビルドも成功します。Jenkinsのビルド実行ボタンを選択しても、同様に成功します。
post-commitでwhoamiしてみると、コミットトリガー時はapache、シェル実行時はrootとなっています。(これが原因?)
Jenkins側では、ポーリング設定しています(スケジュールは空)。
セキュリティ認証はしていません。
wget呼び出し
wget http://localhost/jenkins/job/<ジョブ>/build?delay=0sec
です。
八方塞がりで困っています。
ご指摘や疑義などありましたら、お聞かせください。
※ yahoo社の質問サービスも使用したのですが、回答が得られなかったため、こちらで質問させてください。※
2015-11-04 9:37 追記
※ コメント欄の内容を転記します。
post-commit スクリプト内の wget の実行部分を
wget --timeout=5 -o /tmp/svn_commit.log http://localhost/jenkins/job/<ジョブ>/build?delay=0sec
とした上で svn commit を実行してみてはどうでしょうか。
下記のログを取得することができました。
--2015-11-04 09:02:09--
(try:1) localhost/jenkins/job/<;ジョブ>/build?delay=0sec
Connecting to localhost|::1|:80... failed: Permission denied.
Connecting to localhost|127.0.0.1|:80... failed: Permission denied. Retrying. ……
--2015-11-04 09:02:19--
(try:20) localhost/jenkins/job/<;ジョブ>/build?delay=0sec
Connecting to localhost|::1|:80... failed: Permission denied.
Connecting to localhost|127.0.0.1|:80... failed: Permission denied. Giving up.