LoginSignup
0
0

More than 3 years have passed since last update.

【個人開発・忘備録】JenkinsでGitHubの変更検知→自動テスト・結果表示・メール通知

Last updated at Posted at 2020-05-28

概要

  • 開発している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のセキュリティの設定も済ませておく([参考]
2.png
3.png

JDK・Git・gradleのパス設定

Jenkinsの管理→Global Tool Configurationと進み、JDK・Git・gradleの各種パスを通す。
Gitとgradleのパスはこれで良いのか不明。。。
まだわかっていないところがあるがとりあえずは動いた。。。
【メモ】
eclipseでのアプリ作成時はJDK11を使うよう設定したが、なぜかJenkinsでのbuild時にはJDK1.8でビルドしようとし、エラーが起きた。とりあえずはbuild.gradle内のJDKのバージョンを8に設定しなおし対処した。

ジョブの設定

ジョブ新規作成

新規ジョブ作成→ジョブの名前入力→フリースタイル・プロジェクトのビルドを選択
スクリーンショット 2020-05-27 22.27.08.png

ジョブの各種設定

  • ソースコード管理にGitHubのリポジトリのURLを記載
  • ビルド・トリガは「SCMをポーリング」にし、cronを記載。ここでは5分に一回GitHubを見に行き、変更があればビルドする設定とした。
  • ビルドはシェルの実行とし、シェルスクリプト./gradlew buildを記載。
  • ビルド後の処理は「JUnitテスト結果の集計」「E-mail通知」を設定。 ソースコード管理.png ビルドトリガ.png ビルド.png ビルド後の処理.png ※JUnitの結果(XMLファイル)の出力先が自分の環境では上記のパスとなっていた。デフォルト?

結果

GitHubに変更があると、ビルドが始まる(変更がなくとも手動でもできる)。今回は全て個人のPC環境であるためアプリを立ち上げておかないと失敗する。
画像はジョブを停止しているのでSのマークがグレーになっているが、ビルドが成功すると青になる。赤は失敗。
スクリーンショット 2020-05-27 22.09.41.png
テスト結果.png

参考

Jenkins実践入門

0
0
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
0
0