本エントリーは下記バージョンで動作確認しています。
Jenkins | 2.121.1 |
---|---|
Spring Boot | 2.0.1 |
Java | OracleJDK 8 |
GitHubで管理しているSpring Bootプロジェクトを
Jenkinsでビルドし、ユニットテストを実施してみました。
その時の設定箇所を記載します。
設定箇所
新規ジョブ作成時は「フリースタイル・プロジェクトのビルド」を選択
ソースコード管理でGitHubのリポジトリ情報を入力
今回はGitHubからソースをダウンロードしてビルドしますので、
Gitを選択します。リポジトリURLと認証情報を入力します。
認証情報はGitHubのユーザーIDとパスワードを使用しました。
ビルド・トリガを指定。今回は定期的に実行。
cronの書式で入力する。今回は30分に一度ビルドが走るように設定。
ビルド環境の設定
「ビルド開始前にワークスペースを削除する」をオン。
この設定をオンにした経緯は、ビルド後の処理である「テスト結果の集計」で
日付の古いxmlファイルを見ようとしてビルドエラーになってしまったためになります。
ビルドタスクの追加
- 「ビルド手順の追加」 -> 「Invoke Gradle script」を選択
- 「Use Gradle Wrapper」を選択し、「Make gradlew executable」にチェックを入れる。
- 今回はGradle Wrapperを使用しています。"gradlew bootJar"などのコマンドを実行することで、Gradleをインストールしていなくてもビルドなどを実行することができます。
- Tasksの入力項目に"bootJar"と入力します。
テストタスクの追加
前項のビルドタスクの追加と同様の手順を行った後、
Tasksの入力項目に"test"と入力します。
JUnitテスト結果の集計タスクを追加
- 「ビルド後の処理の追加」 -> 「JUnitテスト結果の集計」を選択
- 画像を参考にして、テスト結果xmlファイルのパスを指定する。
さっそくジョブを起動してみます。成功しました!
ユニットテストの結果を確認することも可能です。
testコマンドは標準でhtml出力されるようで、下記の手順で閲覧することが可能です。
- ジョブのワークスペースを選択する
- 「build / reports / tests / test」に移動する
- index.htmlを選択する。
テストサマリーが表示されました!
今回はVagrantとDockerで起動したJenkinsサーバー上で動かしました。
気軽にCIを実践できるよい時代になったものですね!
以上です!