Skip to content

GitHub ActionsのCI設定をClaudeと作る

GitHub Actionsの設定ファイルは、初めて書くときに構文やオプションで迷いがちです。Claude Codeを使えば、プロジェクトの構成を伝えるだけで実用的なワークフローをすぐに生成できます。

Claudeにプロジェクト情報を伝えて雛形を作る

Section titled “Claudeにプロジェクト情報を伝えて雛形を作る”

まずはClaudeに対して、自分のプロジェクト構成を具体的に伝えましょう。曖昧な指示より、技術スタックや要件を明示するほうが精度の高いYAMLが返ってきます。

Node.js(v20)のReactアプリです。mainブランチへのプッシュ時に
npm testとnpm run buildを実行し、成功したらS3にデプロイする
GitHub Actionsワークフローを作ってください。

この一文を入力するだけで、Claudeはトリガー条件・ジョブ定義・ステップまで含んだYAMLを生成してくれます。

GitHub Actions: GitHubが提供するCI/CDサービス。コードのプッシュをトリガーにテスト・ビルド・デプロイを自動実行できる。ブランチ: Gitでコードの変更履歴を分岐させる仕組み。本番コードに影響を与えずに新機能を開発できる。デプロイ: 開発したコードを本番サーバーに公開・適用すること。npm: Node.jsのパッケージ管理ツール。`npm install` でライブラリをインストールする。

生成されたワークフローを確認・修正する

Section titled “生成されたワークフローを確認・修正する”

Claudeが出力するワークフローの例はこのようになります。

name: CI/CD Pipeline
on:
push:
branches: [main]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- run: npm ci
- run: npm test
- run: npm run build
- name: Deploy to S3
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
run: aws s3 sync ./build s3://your-bucket-name --delete

内容を確認したら、不要なステップや環境変数の名前など、プロジェクト固有の部分をClaudeに追加指示して修正してもらいましょう。「デプロイは本番ブランチのみに限定して」「テストをキャッシュして高速化して」のように自然な言葉で伝えればOKです。

CI/CD: Continuous Integration / Continuous Delivery の略。コード変更を自動でテスト・本番環境にデプロイする仕組み。キャッシュ: 一度取得したデータを一時的に保存しておき、同じリクエストへの応答を速くする仕組み。リポジトリ: Gitでコードと変更履歴を管理するフォルダ。GitHubなどのサービスで共有できる。環境変数: APIキーやデータベース接続情報など、コードに直接書きたくない値をOSやサーバーに設定する仕組み。

ファイルに書き出してローカルで検証する

Section titled “ファイルに書き出してローカルで検証する”

ワークフローが固まったら、Claude Codeに直接ファイル作成まで依頼できます。

上記のワークフローを .github/workflows/ci.yml として保存してください。

保存後はactionlintを使ってローカルで構文チェックするのがおすすめです。

Terminal window
# actionlintのインストールと実行
brew install actionlint
actionlint .github/workflows/ci.yml

エラーが出たらそのメッセージをそのままClaudeに貼り付けると、原因と修正案をすぐに返してくれます。試行錯誤のループをClaudeと一緒に回すことで、GitHub ActionsのCI設定を短時間で完成させられます。