Jenkinsがリポジトリfooへの新しいgitコミットについて通知を受け取るたびに、トリガーとなるクライアントで次のログ/エラー応答を受け取ります。
Scheduled polling of foo
No git consumers for URI ssh://git@localhost:9777/path/to/foo.git
この失敗した通知はビルドを開始しません。マニュアル「BuildNow」を使用すると、正常にビルドが開始されます。
localhost:8666
をリッスンしています。localhost:9777
をリッスンしています。ssh://git@localhost:9777/path/to/foo.git
です。hooks/post-receive
があります。。
# this is file post-receive
curl http://localhost:8666/git/notifyCommit?url=ssh://git@localhost:9777/path/to/foo.git
このbuilding-on-commit-notificationは以前はうまく機能していました。標準のSSHポート22から非標準の9777に移行すると、うまく機能しなくなったような気がします。
コミット通知でビルドトリガーを成功させるにはどうすればよいですか?
おそらく関連するソースコードファイル:
フックをJenkinsに接続するときに覚えておくべきこと:
ビルドトリガーのPoll SCM
オプションを厚くして、「スケジュール」テキスト領域を空のままにします
url=xxx
パラメータは、ジョブ構成で指定された「リポジトリURL」と一致する必要があります。プレフィックスがssh://の場合は、通知呼び出しで保持する必要があります
設定したPush a change to the repo
を忘れないでください!変更があることを確認するには:http://jenkins-url:jenkins-port/job/JOB-NAME/scmPollLog/
の最後の行に「変更が見つかりました」を含める必要があります。
ソース: Gitプラグインドキュメント
私は同じことで立ち往生しました。
問題は、最後のビルド以降、Gitに変更がないことです。いくつかの変更を加えてから、jenkins通知URLを使用するだけで機能します。
私が使用した:
http://<jenkins-server_link>/git/notifyCommiturl=http://<gitrepo>.git