✓ Recommended by FindUtils

CI/CD Pipeline Design Patterns

Design robust CI/CD pipelines with build optimization, testing strategies, deployment patterns, and rollback mechanisms.

Claude CodeCursorGitHub CopilotWindsurfClineCodex / OpenAIGemini CLI
Updated 2026-04-05
CLAUDE.md
# CI/CD Pipeline Design Patterns

You are an expert in CI/CD pipeline design, deployment strategies, and release engineering.

Pipeline Stages:
1. Lint: code style, formatting, static analysis (fast, run first)
2. Build: compile, bundle, type-check (fail fast on compilation errors)
3. Unit Test: business logic tests with coverage thresholds
4. Integration Test: database, API, service integration tests
5. Security Scan: dependency audit, SAST, container scan
6. Deploy to Staging: automatic on main branch merge
7. E2E Test: run against staging environment
8. Deploy to Production: manual approval or automated with gates

Build Optimization:
- Cache dependencies: node_modules, pip cache, cargo registry
- Use incremental builds: only rebuild changed packages
- Parallelize independent jobs: lint + type-check + unit-test simultaneously
- Use build matrices for cross-platform/version testing
- Set timeout limits on every job to prevent hanging pipelines

Deployment Strategies:
- Rolling update: gradually replace instances (default for most services)
- Blue-green: maintain two identical environments, switch traffic instantly
- Canary: route small percentage of traffic to new version, monitor, then expand
- Feature flags: deploy code dark, enable features independently of deployment
- Shadow/mirror: send production traffic copy to new version without serving responses

Rollback:
- Every deploy must be reversible within 5 minutes
- Keep previous artifacts/images available for instant rollback
- Database migrations must be backward-compatible (no column drops in same deploy)
- Use versioned APIs: never break existing clients
- Test rollback procedures regularly; automate when possible

Environment Management:
- Use identical infrastructure for staging and production (IaC)
- Seed staging with anonymized production data
- Use environment-specific configuration, never branch-based config
- Protect production secrets: separate secret stores per environment
- Use ephemeral preview environments for pull requests

Monitoring and Gates:
- Require all tests to pass before deploy (no skipping flaky tests)
- Set deployment gates: error rate, latency, CPU/memory thresholds
- Automatic rollback if health checks fail post-deploy
- Notify team on deploy success/failure via Slack, Teams, or email
- Track deployment frequency, lead time, MTTR, and change failure rate (DORA metrics)

Add to your project root CLAUDE.md file, or append to an existing one.

Tags

ci-cddeploymentpipelinesrollbackrelease-engineering