169
158

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GithubからJenkinsへのServer Hook

Last updated at Posted at 2013-10-29

GithubからJenkinsへのServer Hookを調べた結果をまとめておく。
以下の3つの方法を調べた。

  • WebHook URLsを用いる方法
  • Jenkins (GitHub plugin) を用いる方法
  • Ver1.8で確認
  • Jenkins (Git plugin) を用いる方法
  • Ver2.0で確認

この方法を用いるとGithubのコードに修正を加えると対応するJenkinsジョブを走らせることができる


WebHook URLsを用いる方法

Jenkinsの設定

HookするJenkinsのジョブの設定

  • 「ビルドのパラメータ化」で「文字列」のpayloadを指定しておく
  • Hook時にcommitやpushに関するJSON形式のパラメータ(Post-Receive Hooks · GitHub Help)が渡される
  • セキュリティ設定時は「リモートからビルド」をチェックして認証トークンを設定しておく
  • payloadで渡されたパラメータを解析して対象のリポジトリやブランチのジョブを呼び出すなりする

Githubの設定

  • 「Settings」=> 「Server Hooks」=>「WebHook URLs」 で「URL」に[Jenkins URL]/job/[Job Name]/buildWithParametersを指定して「Update Settings」する
  • セキュリティ設定時は「URL」に?token=[Token Name]を追加

webhook.jpg


Jenkins (GitHub plugin) を用いる方法

  • GithubからHookを受け取ると対応したジョブが実行される

Jenkinsの設定

  • GitHub pluginをインストールしておく
  • セキュリティ設定は特に必要なさそう(認証ありにしてもhookできた)

HookするJenkinsのジョブ設定

  • 「ソースコード管理」の「Git」でリポジトリ(ブランチ)を指定しておく
  • 「ビルド・トリガ」の「Build when a change is pushed to GitHub」を設定しておく

Githubの設定

  • 「Settings」=> 「Server Hooks」=>「 Jenkins (Github plugin)」で「Jenkins Url」に[JenkinsのURL]/github-webhookを設定する

jenkins-github-plugin.jpg


Jenkins (Git plugin) を用いる方法

  • GithubからHookを受け取ると対応したジョブが実行される

Jenkinsの設定

  • Git pluginをインストールしておく
  • セキュリティ設定は特に必要なさそう(認証ありにしてもhookできた)

HookするJenkinsジョブ設定

  • 「ソースコード管理」の「Git」でリポジトリ(ブランチ)を指定しておく
  • 「ビルド・トリガ」の「SCMのポーリング」を設定しておく

GIthubの設定

  • 「Settings」=> 「Server Hooks」=>「 Jenkins (Git plugin)」で「Jenkins Url」にJenkinsのURLを設定する

jenkins-git-plugin.jpg


その他

githubからのHookアクセスIPについて

GithubのWebHookの説明によると204.232.175.64/27, 192.30.252.0/22らしい。
https://api.github.com/metaのhooksで確認可能(コメントで教えて頂きました)

httpsでのHookについて

  • 2013/11/07時点のhttpsでのHookはWebHook URLs/Jenkins (GitHub plugin) /Jenkins (Git plugin) でほぼ不可能だった

  • JenkinsでHookされない、Apacheレベルでログが残っていない

  • GitHub pluginのコメントでGithubの問題でhttpsが使えないらしいというものがあった

  • Hook可否について(×:Hook不可、○:Hook可)

- WebHook URLs Jenkins (GitHub plugin) Jenkins (Git plugin)
https(自己署名証明書) × × ×
https(ジオトラストの証明書) × ×
169
158
2

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
169
158

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?