take566 avatar

cicd-pipeline

CI/CDパイプラインの設計・実装・トラブルシューティング。GitHub Actions、GitLab CI、CircleCI、Jenkinsの設定ファイル作成、ビルド最適化、デプロイ戦略(Blue-

提供方 take566|开源

CI/CD パイプライン設計・実装

クイックスタート

GitHub Actions(推奨)

name: CI/CD Pipeline
on:
  push:
    branches: [main, develop]
  pull_request:
    branches: [main]

jobs:
  build-test-deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '20'
          cache: 'npm'
      - run: npm ci
      - run: npm test
      - run: npm run build

パイプライン設計原則

  1. 高速フィードバック: テストは5分以内、ビルドは10分以内を目標
  2. 並列実行: 独立したジョブは並列化
  3. キャッシュ活用: 依存関係、ビルド成果物をキャッシュ
  4. 環境分離: dev → staging → production の順序

デプロイ戦略

戦略リスクロールバック用途
Blue-Green即座本番環境
Canary段階的大規模サービス
Rolling段階的Kubernetes
Recreate遅い開発環境

詳細ガイド

ユーティリティスクリプト

# パイプライン実行時間分析
python scripts/analyze_pipeline.py workflow.yml

# シークレット検証
python scripts/validate_secrets.py .github/workflows/

# 依存関係キャッシュキー生成
python scripts/generate_cache_key.py package-lock.json

ワークフロー: 新規パイプライン構築

進捗チェックリスト:
- [ ] 1. 要件定義(ビルド、テスト、デプロイ先)
- [ ] 2. ブランチ戦略決定
- [ ] 3. パイプライン設定ファイル作成
- [ ] 4. シークレット設定
- [ ] 5. テスト実行・検証
- [ ] 6. ドキュメント作成