概要
- 開発しているmacにJenkinsインストール
- GitHubを定期的にチェック
- 変更があればテストを含むビルドを実施
- テスト失敗時はメール通知
- テスト結果をJenkinsの画面で確認
環境
- macOS Catalina 10.15.4
- Jenkins 2.238
- JDK 1.8.0_231(build.gradle内のJDKバージョンと合わせる)
- gradle6.4.1
ビルド対象
SpringBootで作成したWebアプリ(gradleプロジェクト)。
JUnit4とSeleniedによるテストコードを含む。
Jenkins初期設定
Jenkisはbrew services start jenkins
で動かしておく。
メール設定
通知を行う送信元となるメールアドレスの設定をする。
Jenkinsの管理→システムの設定の「Jenkinsの位置」、「Email通知」を設定。Jenkinsからメール操作できるようGmailのセキュリティの設定も済ませておく([参考]
JDK・Git・gradleのパス設定
Jenkinsの管理→Global Tool Configurationと進み、JDK・Git・gradleの各種パスを通す。
Gitとgradleのパスはこれで良いのか不明。。。
まだわかっていないところがあるがとりあえずは動いた。。。
【メモ】
eclipseでのアプリ作成時はJDK11を使うよう設定したが、なぜかJenkinsでのbuild時にはJDK1.8でビルドしようとし、エラーが起きた。とりあえずはbuild.gradle内のJDKのバージョンを8に設定しなおし対処した。
ジョブの設定
ジョブ新規作成
新規ジョブ作成→ジョブの名前入力→フリースタイル・プロジェクトのビルドを選択
ジョブの各種設定
- ソースコード管理にGitHubのリポジトリのURLを記載
- ビルド・トリガは「SCMをポーリング」にし、cronを記載。ここでは5分に一回GitHubを見に行き、変更があればビルドする設定とした。
-
ビルドはシェルの実行とし、シェルスクリプト
./gradlew build
を記載。 -
ビルド後の処理は「JUnitテスト結果の集計」「E-mail通知」を設定。
※JUnitの結果(XMLファイル)の出力先が自分の環境では上記のパスとなっていた。デフォルト?
結果
GitHubに変更があると、ビルドが始まる(変更がなくとも手動でもできる)。今回は全て個人のPC環境であるためアプリを立ち上げておかないと失敗する。
画像はジョブを停止しているのでSのマークがグレーになっているが、ビルドが成功すると青になる。赤は失敗。