Tech Starlog

GitHub Actions 入門 〜CI/CDをはじめてみよう〜

投稿日:2026/01/09

GitHub Actionsは、GitHubに標準で備わっているCI/CD(継続的インテグレーション / デリバリー)ツールです。
テストやビルド、デプロイなどを 自動化することで、開発効率と品質を向上させることができます。

本記事では、GitHub Actionsの基本概念から、簡単な設定例までを解説します。


GitHub Actionsとは?

GitHub Actionsは、以下のような処理をGitHub上で自動実行できます。

  • テストの自動実行
  • コードの静的解析(Lint / PHPStan など)
  • ビルド処理
  • デプロイ作業

代表的な利用シーン

  • push時に自動でテストを実行
  • Pull Request作成時にチェックを走らせる
  • mainブランチへのマージ時に自動デプロイ

GitHub Actionsの基本構成

GitHub Actionsは以下の要素で構成されます。

Workflow(ワークフロー)

  • 自動化処理全体の定義
  • .github/workflows/*.ymlに記述

Job(ジョブ)

  • ワークフロー内の処理単位
  • 複数定義可能

Step(ステップ)

  • ジョブ内の具体的な処理
  • コマンド実行やActionの呼び出し

GitHub Actionsの作成例

ディレクトリ構成

.github/
└── workflows/
    └── ci.yml

Workflow例

name: CI Sample

on:
  push:
    branches:
      - main

jobs:
  sample-job:
    runs-on: ubuntu-latest

    steps:
      - name: リポジトリをチェックアウト
        uses: actions/checkout@v4

      - name: Hello World
        run: echo "Hello GitHub Actions!"

各設定項目の解説

name

name: CI Sample

GitHub上で表示されるワークフロー名です。

on(トリガー)

on:
  push:
    branches:
      - main
  • mainブランチへのpush時に実行
  • pull_requestやscheduleも指定可能

jobs / runs-on

runs-on: ubuntu-latest
  • 実行環境を指定
  • 一般的にはubuntu-latestを使用

steps / uses / run

uses: actions/checkout@v4
  • GitHubが提供する公式Action
  • リポジトリをrunnerにチェックアウト
run: echo "Hello GitHub Actions!"
  • シェルコマンドを実行

よく使われるトリガー例

Pull Request時に実行

on:
  pull_request:

複数イベントで実行

on:
  push:
  pull_request:

実務でよくある例(Laravel)

PHP のテストを実行する例

name: Laravel CI

on:
  pull_request:

jobs:
  test:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4

      - name: PHP セットアップ
        uses: shivammathur/setup-php@v2
        with:
          php-version: '8.2'

      - name: Composer install
        run: composer install --no-interaction --prefer-dist

      - name: テスト実行
        run: php artisan test

GitHub Actionsを使うメリット

  • 無料枠で十分使える
  • GitHubと完全統合
  • YAMLだけで設定可能
  • チーム全体で品質を担保できる

まとめ

  • GitHub Actionsは自動化の第一歩
  • 最初は「テストを自動で回す」だけでOK
  • 慣れてきたら、Lint・静的解析・デプロイへ拡張