目次
概要
チームで開発する際は、基本的には開発したものをレビューすると思われます。
本記事は、レビュアーの作業工数削減を目的に、
CI/CDパイプラインに静的解析とテストを組み込み、最低限のチェックを自動で行う内容について記載しております。
※テストは以降UTと略しております。
環境
設定内容
- Github Actionsの設定
PRマージ前に静的解析とUTを実行する設定例。
対象ブランチやどのタイミングでキックするかについても設定可能になります。
pre-merge.yml
name: PR Checks
on:
push:
branches:
- master
pull_request:
branches:
- '*'
jobs:
tests:
name: Run tests
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up JDK 17
uses: actions/setup-java@v1
with:
java-version: 17
- name: Make gradlew executable
run: chmod +x ./gradlew
- name: Run detekt
run: ./gradlew detekt
- name: Run test
run: ./gradlew test
env:
DATABASE_URL: ${{ secrets.DATABASE_URL }}
DATABASE_USERNAME: ${{ secrets.DATABASE_USERNAME }}
DATABASE_PASSWORD: ${{ secrets.DATABASE_PASSWORD }}
実行結果
以下のように、レビュー前に必要最低限のチェックを自動で行うことができる。
なお、静的解析やUTでエラーとなった詳細やそもそもUT等がちゃんと行われているかどうかは、以下のように確認可能です。
※前回投稿したDocker自動起動はプルリクエストでも同様に展開可能です。
参考
https://docs.github.com/ja/actions
https://qiita.com/vZke/items/868eb9fd5289d2a25660