LaravelのテストをCI/CDに組み込む方法完全ガイド|GitHub Actions連携を初心者向けに解説
生徒
「Laravelでテストを書いたんですけど、毎回自分で実行するのが大変です。自動でできないんですか?」
先生
「できます。GitHub Actionsを使えば、コードを保存したタイミングでLaravelのテストを自動実行できます。」
生徒
「GitHub Actionsって難しそうです。パソコン初心者でも大丈夫ですか?」
先生
「大丈夫です。毎朝学校で出席確認を自動でしてくれる先生だと思うと分かりやすいですよ。」
1. CI/CDとは何かをやさしく理解しよう
CI/CDとは、プログラムの確認作業を自動化する考え方です。CIは「つなげて確認する」、CDは「そのまま届ける」という意味合いがあります。
たとえば、ノートを提出すると先生が自動で丸付けしてくれる仕組みを想像してください。LaravelのテストをCI/CDに組み込むとは、この丸付けをコンピュータに任せることです。
2. GitHub Actionsとは何をしてくれる仕組み?
GitHub Actionsは、GitHubに保存したLaravelプロジェクトに対して、自動で作業をしてくれる機能です。コードを保存した瞬間に、テスト実行や確認を行ってくれます。
人がスイッチを押さなくても動く自動ロボットのような存在で、Laravelのテストと非常に相性が良いです。
3. Laravelテストを動かす前の基本準備
GitHub Actionsでは、まずLaravelが動く環境を作ります。これは「机と椅子を用意してから勉強する」ようなものです。
PHPとComposerを準備し、Laravelのテストコマンドを実行できる状態にします。
php artisan test
このコマンドは「Laravelのテストを全部実行して確認する」という意味です。
4. GitHub Actionsの設定ファイルを作成する
GitHub ActionsはYAMLファイルという設定書で動きます。YAMLとは、やることを順番に書いたメモのような形式です。
name: Laravel Test
on: [push]
jobs:
test:
runs-on: ubuntu-latest
この設定は「コードが保存されたら、Ubuntuという環境でテストを始める」という意味になります。
5. Laravelのテストを実行する処理を書く
次に、Laravelのテストを実際に動かします。これは先生がノートを開いて確認する作業にあたります。
- uses: actions/checkout@v3
- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
ここではPHPの準備をしています。LaravelのテストにはPHPが必須です。
6. ComposerとLaravelテストを自動実行する
ComposerはLaravelの部品をそろえる道具です。道具がなければ正しくテストできません。
- name: Install dependencies
run: composer install
- name: Run tests
run: php artisan test
これでGitHub ActionsはLaravelのテストを自動で実行します。失敗した場合は、すぐに教えてくれます。
7. CI/CDに組み込むことで得られる安心感
LaravelのテストをCI/CDに組み込むと、コードを変更するたびに自動で確認されます。間違いがあればすぐに分かるため、後から大きな問題になるのを防げます。
初心者でも「ちゃんと動いている」という安心を得られるのが最大のメリットです。
8. 初心者がつまずきやすいポイント
最初は設定ファイルの書き方に戸惑いますが、順番に読むことが大切です。一つ一つは難しくありません。
GitHub Actionsは失敗しても壊れません。何度でもやり直せるので、安心してLaravelのテスト自動化に挑戦できます。