Tech Blog

プログラミングと技術の情報サイト

CI/CDパイプラインをGitHub Actionsで構築する

CI/CDパイプラインをGitHub Actionsで構築する

GitHub ActionsはGitHubに統合されたCI/CDプラットフォームです。 プッシュやPRをトリガーにテスト・ビルド・デプロイを自動化でき、 設定ファイル1つでパイプラインを構築できます。

ワークフローの構造

設定ファイルは .github/workflows/ に配置します。

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'
      - run: npm ci
      - run: npm test

テストとカバレッジ

- name: Run tests with coverage
  run: npm test -- --coverage

- name: Upload coverage report
  uses: codecov/codecov-action@v4
  with:
    token: ${{ secrets.CODECOV_TOKEN }}

Dockerイメージのビルドとプッシュ

- name: Build and push Docker image
  uses: docker/build-push-action@v5
  with:
    push: true
    tags: ghcr.io/${{ github.repository }}:latest
    secrets: |
      GIT_AUTH_TOKEN=${{ secrets.GITHUB_TOKEN }}

環境変数とSecrets

APIキーなどの機密情報はリポジトリの Settings → Secrets に登録し、 ${{ secrets.MY_SECRET }} で参照します。 ソースコードに直接書くことは絶対に避けてください。

まとめ

GitHub Actionsはパブリックリポジトリで無料、プライベートでも月2000分の無料枠があります。 まずテスト自動化から始め、段階的にデプロイ自動化へ広げるのがおすすめです。

← 記事一覧に戻る