MENU

【2025年】GitHub Actions入門|CI/CD自動化の基本

github actions basics 2025 optimized

「GitHub Actions、何ができるの?」と疑問に思っていませんか?

現役WEBエンジニアとして、GitHub Actionsを活用しています。

この記事では、GitHub Actionsの基本を解説します。

目次

GitHub Actionsとは

基本概念

  • GitHubに組み込みのCI/CD
  • Push時に自動でテスト実行
  • 無料枠が充実

できること

用途
テスト 自動テスト実行
ビルド 本番用ビルド
デプロイ 自動デプロイ
Lint コード品質チェック

基本構造

ワークフローファイル

# .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
      - uses: actions/setup-node@v4
        with:
          node-version: '20'
      - run: npm install
      - run: npm test

主要な要素

要素 説明
name ワークフロー名
on トリガー条件
jobs 実行するジョブ
steps ジョブ内のステップ

トリガー(on)

よく使うトリガー

on:
  # プッシュ時
  push:
    branches: [main, develop]

  # PR時
  pull_request:
    branches: [main]

  # 定期実行
  schedule:
    - cron: '0 0 * * *'

  # 手動実行
  workflow_dispatch:

実践例

Node.jsプロジェクト

name: Node.js CI

on: [push, pull_request]

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

    steps:
      - uses: actions/checkout@v4
      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node-version }}
          cache: 'npm'
      - run: npm ci
      - run: npm run build
      - run: npm test

Vercelデプロイ

name: Deploy to Vercel

on:
  push:
    branches: [main]

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

シークレット

設定方法

  1. リポジトリ → Settings → Secrets
  2. New repository secret
  3. 名前と値を入力

使い方

env:
  API_KEY: ${{ secrets.API_KEY }}

キャッシュ

npm キャッシュ

- uses: actions/setup-node@v4
  with:
    node-version: '20'
    cache: 'npm'

手動キャッシュ

- uses: actions/cache@v4
  with:
    path: ~/.npm
    key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}

料金

無料枠

プラン 分/月
Free 2,000
Pro 3,000
Team 3,000

まとめ

GitHub Actions入門のポイント:

  1. ワークフローファイルを作成
  2. トリガーを設定
  3. シークレットでセキュリティ
  4. キャッシュで高速化

関連記事

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次