プログラミングHUB

本記事は広告(アフィリエイト)を含みます。リンク先サービスの成果に応じて当サイトは報酬を受け取る場合があります。 紹介する商品・サービスは公開情報・公式資料に基づき編集部が比較・検証したものです。編集方針

language5分で読めます

CI/CD入門(GitHub Actions):自動テスト・自動デプロイの基礎を学ぶ

GitHub Actionsを使ったCI/CDの基礎を解説。ワークフローの書き方、自動テスト、自動デプロイの設定方法を実例付きで紹介します。

この記事でわかること

5分で読めます
  • GitHub Actionsを使ったCI/CDの基礎を解説。
  • ワークフローの書き方、自動テスト、自動デプロイの設定方法を実例付きで紹介します。

GitHub Actions実践ガイドも参考にしてください。

「独学で始めたものの、何を次に学ぶべきかが見えず手が止まっている」——プログラミング学習で最も多い挫折ポイントです。 方向感のない学習は時間だけを消費し、現場で通用するスキルまで繋がりにくくなります。 この記事では、CI/CD入門(GitHub Actions)について、順序立てて学ぶロードマップを整理しました。

関連記事:Git・GitHub入門ガイド


無料カウンセリングは30分〜1時間、しつこい勧誘なし。学習ロードマップの相談だけでも活用できます。

PRエックスサーバー国内シェアNo.1のエックスサーバーを試す公式サイトで詳細を見る※本コンテンツはアフィリエイト広告を含みます。表示内容は各社公式サイトをご確認ください。

CI/CDとは

CI(継続的インテグレーション)

コードをプッシュするたびに自動でテストやビルドが実行され、問題があればすぐに検知できます。

CD(継続的デリバリー/デプロイ)

テストが通ったコードを自動的にステージング環境や本番環境にデプロイします。

CI/CDのメリット

  • バグの早期発見(プッシュのたびにテスト実行)
  • 手動デプロイの廃止(ヒューマンエラーの削減)
  • レビューの効率化(テストが通っているか一目でわかる)
  • リリースサイクルの短縮

GitHub Actionsの基本

ワークフローファイル

.github/workflows/ ディレクトリにYAMLファイルを配置します。

# .github/workflows/ci.yml
name: CI

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '20'
          cache: 'npm'

      - name: Install dependencies
        run: npm ci

      - name: Run linter
        run: npm run lint

      - name: Run tests
        run: npm test

主要な構成要素

要素説明
onワークフローのトリガー条件
jobs実行するジョブの定義
stepsジョブ内の各ステップ
uses再利用可能なアクション
runシェルコマンドの実行

実践的なワークフロー例

自動デプロイ(Vercel)

name: Deploy to Vercel

on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: amondnet/vercel-action@v25
        with:
          vercel-token: ${{ secrets.VERCEL_TOKEN }}
          vercel-org-id: ${{ secrets.ORG_ID }}
          vercel-project-id: ${{ secrets.PROJECT_ID }}
          vercel-args: '--prod'

マトリックスビルド

複数のNode.jsバージョンで同時にテストを実行します。

jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [18, 20, 22]

    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node-version }}
      - run: npm ci
      - run: npm test

キャッシュの活用

- name: Cache node_modules
  uses: actions/cache@v4
  with:
    path: ~/.npm
    key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
    restore-keys: |
      ${{ runner.os }}-node-

シークレットの管理

APIキーやトークンは、GitHubリポジトリの Settings > Secrets に登録します。ワークフロー内では ${{ secrets.SECRET_NAME }} で参照できます。コードにハードコードしてはいけません。

料金

GitHub Actionsはパブリックリポジトリでは無料です。プライベートリポジトリでも月2,000分の無料枠があります。

PRエックスサーバー国内シェアNo.1のエックスサーバーを試す公式サイトで詳細を見る※本コンテンツはアフィリエイト広告を含みます。表示内容は各社公式サイトをご確認ください。

今始めるか、もう少し準備してからか

プログラミング学習は、始めてから軌道に乗るまでに一定の時間がかかります。完璧な環境・完璧な教材を探している間に、早く始めた人は最初の実装を終え、次の壁にぶつかっています。 いきなりスクール契約をする必要はありません。ただし無料カウンセリングや無料体験で自分の学習スタイルに合うか確認しておくのは、選ぶ・選ばない以前の情報収集として有効です。多くのスクールで無料相談は30分〜1時間で完結します。

まとめ

CI/CDは一度設定すれば、その後の開発効率を大幅に高めてくれます。まずは「プッシュしたら自動でテストが走る」という最小構成から始めて、徐々にデプロイの自動化へ進みましょう。


あわせて読みたい

よくある質問

Q.
Q.
Q.

あなたに合う次の選び方を見る

30秒で診断してみる
#CI/CD#GitHub Actions#DevOps#自動化#テスト

関連記事