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を使ってローカルで構文チェックするのがおすすめです。
# actionlintのインストールと実行brew install actionlintactionlint .github/workflows/ci.ymlエラーが出たらそのメッセージをそのままClaudeに貼り付けると、原因と修正案をすぐに返してくれます。試行錯誤のループをClaudeと一緒に回すことで、GitHub ActionsのCI設定を短時間で完成させられます。