目次
- 目次
- 検証環境
- GitHub Pull Request Builder プラグインのインストール
- GitHub Pull Request Builder プラグインの設定
- ジョブの設定
- 動作確認
- その他
- 参考サイト様
検証環境
- Windows 10
- Jenkins 2.277.4
- GitHub Pull Request Builder 1.42.2
GitHub Pull Request Builder プラグインのインストール
Jenkins のプラグインマネージャーを開いて
「GitHub Pull Request Builder」をインストールします
GitHub Pull Request Builder プラグインの設定
Jenkins の「Jenkinsの管理 > システムの設定」を開いて
「Credentials」に使用する GitHub アカウントの情報を設定します
今回は Bot ではなく自分の GitHub アカウントを使用する方法で進めます
アカウント情報が正しく設定できているかどうか確認したい場合は
「Test Credentials...」を押して
以下の手順を行います
- 「Test basic connection to GitHub」をオンにして「Connect to API」を押します
Connected to https://api.github.com as XXXX login: YYYY
と表示されれば
正常に Jenkins から GitHub に接続できています
- 「Repository owner/name」の蘭に
【アカウント名】/【リポジトリ名】
を入力します- リポジトリの URL ではなく
【アカウント名】/【リポジトリ名】
を入力します
- リポジトリの URL ではなく
- 「Test Permissions to a Repository」をオンにして「Check repo permissions」を押します
Use has access to: XXXX
と表示されれば正常にリポジトリに接続できています
- 「Test adding comment to Pull Request」をオンにして
「Issue ID」に適当な Issue の ID を入力して
「Comment to post」に適当な文字列を入力して「Comment to issue」を押します- 指定した Issue に入力した文字列がコメントされれば正常に Issue に接続できています
アカウント情報が正しく設定できたら「保存」を押します
ジョブの設定
ジョブの設定画面を開いて
「GitHub project」をオンにして「Project url」を入力します
https://github.com/baba-s/hogehoge.git
という形式ではなく
https://github.com/baba-s/hogehoge
という形式で入力します
「ソースコード管理」の欄で「Git」をオンにして
「リポジトリ URL」を入力して、そのリポジトリにアクセスするための
GitHub アカウントの情報を「認証情報」の欄で設定します
そして「高度な設定」を押して
「Refspec」に +refs/pull/*:refs/remotes/origin/pr/*
と入力して
「ブランチ指定子」に ${sha1}
と入力します
「ビルド・トリガ」の欄で「GitHub Pull Request Builder」をオンにして
「GitHub API credentials」にデフォルトの設定が反映されていることを確認したら
「高度な設定...」を押します
「Crontab line」にプルリクが存在するかどうかを確認する頻度を指定します
0-59 * * * *
なら毎分確認します
「Build every pull request automatically without asking (Dangerous!).」をオンにします
これをオンにすると、誰がプルリクした場合でもジョブをビルドするようになります
特定のユーザや特定の Organization に所属しているユーザがプルリクした場合のみ
ジョブをビルドしたい場合は「White list」や「List of organizations」の欄を使用します
「Whitelist Target Branches:」に、どのブランチへマージする
プルリクが出された場合にビルドするか入力します
master
と入力したら master
ブランチにマージするプルリクが出されたら
ジョブをビルドするようになります
動作確認
ここまでの設定が完了したらプルリクを出してみます
プルリクを出してから「Crontab line」に指定した時間になったら
自動でジョブのビルドが開始します
その他
すでに存在するプルリクでジョブをビルドし直す
プルリクに test this please
とコメントする
ジョブのビルド結果によってプルリクのチェックを変える
特に何も設定しなくても、ジョブのビルド結果によって
プルリクのチェックの成功・失敗は変化します
ジョブのビルドが成功した場合
「All checks have passed」になります
ジョブのビルドが失敗した場合
「All checks have failed」になります
「Details」を押すとジョブのビルド結果のページを開けます
ジョブの設定がうまくいかない
「Jenkinsの管理 > システムログ > すべてのログ」を押して
Jenkins のログを確認します