LoginSignup
21
17

More than 5 years have passed since last update.

notifyCommitでgitレポジトリのポーリングを効率化

Last updated at Posted at 2013-12-26

バージョン管理にgitを使用している現場で、Jenkinsからのポーリングのアクセスの扱いで悩んでいる現場の話をちらほら聞きます。

筆者の現場でも毎分ポーリングするようにしていたらポーリングのsshのアクセスがハングアップしてビルドが走らなくなってしまうなどのトラブルがありました。push時にhookスクリプトでJenkinsのビルドをキックしてやればいいんですが、そうするとJenkins側でブランチの区別がつかなくなってしまいます。

このような状態をJenkinsのGit Pluguinの機能で解決することができます。

まず、JenkinsはSCM(git)をポーリングするようにしますが、スケジュールの設定のところは空欄にします。

jenkins.png

一方、git側はpushされたときに、

http://<jenkinsのurl>/git/notifyCommit?url=<gitレポジトリのURL>

にリクエストをとばすようにします。

gitlab.png

画像はgitlabの場合です。このURLにリクエストをとばすと、Jenkins側でgitのレポジトリに折り返して、ビルド対象のブランチが更新されていた場合は、Jenkinsがビルドを開始します。

21
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
17