mcpField
C
ci-cd-pipelines

ci-cd-pipelines

github.com/itallstartedwithaideaクラウド・DevOps4478 回インストール29 週間前に更新
リポジトリ

ci-cd-pipelines について

GitHub ActionsでCI/CDワークフローを定義するスキルで、特にCloudflare WorkersやPagesのプロジェクトを対象とします。検証ゲート、プレビュー・ステージング環境へのデプロイ、本番反映、ロールバックの手順を扱います。

主な機能

  1. 01GitHub Actionsワークフロー
  2. 02HTMLとリンクの検証
  3. 03JSON-LDの検証
  4. 04Lighthouseによる性能確認
  5. 05ステージングとプレビューへのデプロイ
  6. 06wranglerによるロールバック

活用シーン

  1. 01CloudflareプロジェクトのCI/CD設定
  2. 02生成ページと内部リンクの検証
  3. 03プレビュー環境でプルリクエストをテスト
  4. 04検証結果に基づく本番リリース制御

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/itallstartedwithaidea/agent-skills --skill ci-cd-pipelines

インストール後、Claude Code で/ci-cd-pipelinesを入力して読み込まれたか確認します。

詳細

CI/CD パイプライン

googleadsagent.ai™によるAgent Skills™の一部です

説明

CI/CD パイプラインは、GitHub Actions と wrangler deploy を使用し、リンク検証、HTML 検証、自動品質ゲートを備えた、本番環境向けの継続的インテグレーションおよびデプロイのワークフローを定義します。このスキルには、googleadsagent.ai™ が Workers をデプロイし、18,000 ページ以上の生成コンテンツを検証して、ダウンタイムのない本番リリースを維持するために実際に使用している CI/CD パターンが組み込まれています。

CI パイプラインの価値は、そのゲートの品質によって決まります。このスキルは「テストを実行してデプロイする」だけにとどまらず、HTML 検証(生成ページに壊れたマークアップがないこと)、内部リンクチェック(都市 × サービスのマトリックス全体にリンク切れがないこと)、構造化データ検証(JSON-LD スキーマへの準拠)、Lighthouse パフォーマンス監査も含みます。main へのマージごとに一連の検証ステップが実行され、問題が本番環境に到達する前にリグレッションを検出します。

デプロイパイプラインは段階的なロールアウトを実施します。まずステージング環境にデプロイし、ステージングに対して検証スイート全体を実行して、すべてのチェックに合格した場合にのみ本番環境へ昇格させます。また、wrangler rollback による即時ロールバック機能も維持します。プルリクエストのプレビュー用デプロイでは、レビュー担当者が承認前に変更をテストできるライブ URL が提供されます。

使用する場面

  • Cloudflare Workers または Pages プロジェクトの CI/CD をセットアップするとき
  • パイプラインに HTML 検証やリンクチェックを追加するとき
  • ステージング環境と本番環境を使った段階的なデプロイを実装するとき
  • コンテンツの多いサイトの品質ゲートを自動化するとき
  • プルリクエストのプレビュー用デプロイを設定するとき
  • デプロイワークフローにロールバック機能を組み込むとき

仕組み

graph TD
    A[Push to Branch] --> B[GitHub Actions Trigger]
    B --> C[Install Dependencies]
    C --> D[Run Unit Tests]
    D --> E[Run Type Checking]
    E --> F{Branch?}
    F -->|PR| G[Deploy to Preview]
    F -->|main| H[Deploy to Staging]
    G --> I[Run Link Checker on Preview]
    H --> J[Run Full Validation Suite]
    J --> K[HTML Validation]
    J --> L[Link Checking]
    J --> M[JSON-LD Validation]
    J --> N[Lighthouse Audit]
    K --> O{All Green?}
    L --> O
    M --> O
    N --> O
    O -->|Yes| P[Promote to Production]
    O -->|No| Q[Block + Notify]
    I --> R[Comment PR with Preview URL]

パイプラインは検証(HTML、リンク、JSON-LD、Lighthouse を並列実行)を並行して進め、すべての結果を集約して合否を判定します。すべてのゲートに合格した場合にのみ、本番環境への昇格が行われます。

実装

name: CI/CD Pipeline
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 ci
      - run: npx tsc --noEmit
      - run: npm test

  deploy-staging:
    needs: test
    if: github.ref == 'refs/heads/main'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: "20" }
      - run: npm ci
      - run: npx wrangler deploy --env staging
        env:
          CLOUDFLARE_API_TOKEN: ${{ secrets.CF_API_TOKEN }}

  validate:
    needs: deploy-staging
    runs-on: ubuntu-latest
    strategy:
      matrix:
        check: [html, links, jsonld, lighthouse]
    steps:
      - uses: actions/checkout@v4
      - name: HTML Validation
        if: matrix.check == 'html'
        run: |
          npx html-validate "https://staging.googleadsagent.ai" \
            --config .htmlvalidate.json
      - name: Link Checking
        if: matrix.check == 'links'
        run: |
          npx linkinator https://staging.googleadsagent.ai \
            --recurse --timeout 30000 \
            --skip "^https://(?!staging\.googleadsagent\.ai)"
      - name: JSON-LD Validation
        if: matrix.check == 'jsonld'
        run: node scripts/validate-jsonld.js --base-url=https://staging.googleadsagent.ai
      - name: Lighthouse Audit
        if: matrix.check == 'lighthouse'
        run: |
          npx lhci autorun --config=lighthouserc.json \
            --collect.url=https://staging.googleadsagent.ai

  deploy-production:
    needs: validate
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: "20" }
      - run: npm ci
      - run: npx wrangler deploy --env production
        env:
          CLOUDFLARE_API_TOKEN: ${{ secrets.CF_API_TOKEN }}

ベストプラクティス

  • マトリックス戦略を使用して検証チェックを並列実行し、パイプラインの所要時間を最小限に抑えます
  • 即時ロールバックに備え、以前のデプロイバージョンを保存しておきます(wrangler rollback を使用)
  • ジョブ間で node_modules とビルド成果物をキャッシュし、インストール時間を短縮します
  • Lighthouse のパフォーマンス予算を設定し、リグレッションがあればパイプラインを失敗させます
  • Cloudflare の認証には、長期間有効な API トークンではなく OIDC トークンを使用します
  • パイプラインの所要時間を指標として監視します。パイプラインが遅いとデプロイ頻度が低下します

プラットフォーム対応状況

プラットフォーム対応状況備考
Cursor完全対応GitHub Actions の作成
VS Code完全対応GitHub Actions 拡張機能
Windsurf完全対応CI/CD ワークフローのサポート
Claude Code完全対応YAML の生成と検証
Cline完全対応パイプラインの設定
aider完全対応YAML ファイルの編集

関連スキル

キーワード

ci-cd github-actions wrangler-deploy html-validation link-checking lighthouse progressive-deployment quality-gates


© 2026 googleadsagent.ai™ | Agent Skills™ | MIT License

コメント