Awesome-omni-skill [PROJECT]-deployment-patterns

[PROJECT] CI/CD pipeline and deployment automation patterns

install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/devops/project-deployment-patterns" ~/.claude/skills/diegosouzapw-awesome-omni-skill-project-deployment-patterns && rm -rf "$T"
manifest: skills/devops/project-deployment-patterns/SKILL.md
source content

Deployment Automation Patterns

Template for project-specific deployment patterns skill Fill in [CUSTOMIZE] sections with your project's deployment infrastructure

Project: [PROJECT NAME] Platform: [CUSTOMIZE: GitHub Actions / GitLab CI / Jenkins / CircleCI] Last Updated: [DATE]


CI/CD Platform

Configuration Files

Location: [CUSTOMIZE: .github/workflows/ / .gitlab-ci.yml / Jenkinsfile / .circleci/]

File Structure:

[CUSTOMIZE: Show your pipeline file organization]

Examples:
- GitHub Actions: .github/workflows/ci.yml, deploy-staging.yml, deploy-production.yml
- GitLab CI: .gitlab-ci.yml (single file with stages)
- Jenkins: Jenkinsfile (declarative or scripted)

CI Pipeline (Test + Build)

Trigger

Events: [CUSTOMIZE: push to main/develop / pull requests / merge requests]

Branches: [CUSTOMIZE: main, develop, feature/* / all branches]

Stages

[CUSTOMIZE WITH YOUR PIPELINE STAGES]

Your Pipeline Flow:

[CUSTOMIZE: Describe your stages]

Examples:
1. Checkout code
2. Install dependencies (with caching)
3. Lint code
4. Run unit tests (backend)
5. Run unit tests (frontend)
6. Run integration tests
7. Run E2E tests
8. Build artifacts
9. Upload artifacts

Parallelization

Jobs Running in Parallel:

[CUSTOMIZE: Show parallel jobs]

Example (GitHub Actions):
jobs:
  backend-tests:
    runs-on: ubuntu-latest
  frontend-tests:
    runs-on: ubuntu-latest
  # Both run simultaneously

Caching Strategy

Dependencies:

[CUSTOMIZE: Show dependency caching]

Examples:
- Maven: cache: 'maven'
- npm: cache: 'npm'
- pip: cache: 'pip'

Build Artifacts:

[CUSTOMIZE: Show build artifact caching]

CD Pipeline (Deployment)

Environments

Environment Matrix:

EnvironmentTriggerApprovalURL
[Dev/Staging][Auto on push][No][URL]
[Production][Manual/Tag][Yes][URL]

Deployment Strategy

Approach: [CUSTOMIZE: Rolling / Blue-Green / Canary / Recreate]

Why This Strategy: [CUSTOMIZE: Reasoning]

Rollback Plan:

[CUSTOMIZE: How to rollback]

Examples:
- Kubernetes: kubectl rollout undo
- Docker: docker-compose pull <previous-tag>
- Cloud: Revert to previous deployment

Containerization

Docker Setup

Dockerfile Location: [CUSTOMIZE: ./Dockerfile / backend/Dockerfile / Dockerfile.production]

Base Images:

  • Backend: [CUSTOMIZE: eclipse-temurin:17-jre-alpine / node:22-alpine / python:3.11-slim]
  • Frontend: [CUSTOMIZE: node:22-alpine + nginx:alpine / Static hosting]

Multi-Stage Build Pattern

[CUSTOMIZE WITH YOUR DOCKERFILE PATTERN]

Backend Example:

[CUSTOMIZE: Show your multi-stage Dockerfile]

Example pattern:
# Stage 1: Build
FROM [build-image] AS builder
WORKDIR /app
COPY [dependency-files]
RUN [install-deps]
COPY [source]
RUN [build-command]

# Stage 2: Runtime
FROM [runtime-image]
COPY --from=builder /app/[artifact] /app/
CMD [start-command]

Docker Compose

Services: [CUSTOMIZE: backend, frontend, database, redis, etc.]

Local Development Setup:

[CUSTOMIZE: Show docker-compose.yml structure]

Secrets Management

Where Secrets Are Stored

Platform: [CUSTOMIZE: GitHub Secrets / GitLab Variables / Jenkins Credentials / Vault]

Required Secrets:

[CUSTOMIZE: List all secrets needed]

Examples:
- DOCKER_USERNAME
- DOCKER_PASSWORD
- DATABASE_URL_STAGING
- DATABASE_URL_PRODUCTION
- API_KEY
- JWT_SECRET

How Secrets Are Used

In Pipeline:

[CUSTOMIZE: Show secret usage pattern]

Example (GitHub Actions):
env:
  DATABASE_URL: ${{ secrets.DATABASE_URL }}

Deployment Commands

Staging Deployment

Trigger: [CUSTOMIZE: Auto on push to main / Manual]

Commands:

[CUSTOMIZE: Show deployment commands]

Examples:
- Docker: docker-compose pull && docker-compose up -d
- Kubernetes: kubectl apply -f k8s/
- Cloud: eb deploy staging
- SSH: ssh user@staging 'cd app && git pull && restart'

Production Deployment

Trigger: [CUSTOMIZE: Manual workflow / Git tag / Release]

Approval: [CUSTOMIZE: Required reviewers / Manual gate]

Commands:

[CUSTOMIZE: Show production deployment]

Health Checks & Smoke Tests

Health Endpoints

Backend: [CUSTOMIZE: /health / /actuator/health / /api/health]

Frontend: [CUSTOMIZE: /health / / (root) / /api/health]

Database: [CUSTOMIZE: /health/db / Connection check]

Smoke Tests

Post-Deployment Verification:

[CUSTOMIZE: Show smoke test commands]

Examples:
sleep 10  # Wait for startup
curl -f https://api.myapp.com/health || exit 1
curl -f https://myapp.com/ || exit 1

Database Migrations

Migration Tool

Tool: [CUSTOMIZE: Flyway / Liquibase / Prisma Migrate / Django migrations / Rails migrations]

When Migrations Run: [CUSTOMIZE: Before deployment / After deployment / Separate job]

Example:

[CUSTOMIZE: Show migration command]

Examples:
- Flyway: mvn flyway:migrate
- Prisma: npx prisma migrate deploy
- Django: python manage.py migrate

Rollback Strategy

Migration Rollback:

[CUSTOMIZE: How to rollback migrations]

Monitoring & Logging

Monitoring Tools

Uptime: [CUSTOMIZE: UptimeRobot / Pingdom / DataDog]

Error Tracking: [CUSTOMIZE: Sentry / Rollbar / Bugsnag]

Logs: [CUSTOMIZE: Papertrail / CloudWatch / Loggly]

Metrics: [CUSTOMIZE: Prometheus / New Relic / DataDog]

Log Aggregation

Where Logs Go: [CUSTOMIZE: Stdout → Cloud logging / File → Aggregator]

Log Format: [CUSTOMIZE: JSON / Plain text / Structured]


Build Optimization

Build Time Targets

CI Build: [CUSTOMIZE: <5 minutes / <10 minutes]

Local Build: [CUSTOMIZE: <2 minutes / <3 minutes]

Optimization Techniques

[CUSTOMIZE WITH USED TECHNIQUES]

  • Dependency caching (Maven, npm, pip)
  • Build artifact caching
  • Docker layer caching
  • Parallel job execution
  • [PROJECT-SPECIFIC OPTIMIZATION]

Security Scanning

Tools

Dependency Scanning: [CUSTOMIZE: Dependabot / Snyk / OWASP Dependency Check]

Container Scanning: [CUSTOMIZE: Trivy / Snyk / Clair]

SAST: [CUSTOMIZE: SonarQube / CodeQL / Semgrep]

Scan Timing

When: [CUSTOMIZE: Every PR / Nightly / Weekly]

Failure Threshold: [CUSTOMIZE: Critical vulnerabilities / High+ / All]


Deployment Checklist

[CUSTOMIZE WITH PROJECT REQUIREMENTS]

Before deploying:

  • All tests passing (unit, integration, E2E)
  • Code coverage ≥ [80]%
  • Build successful
  • No critical security vulnerabilities
  • Database migrations reviewed
  • Secrets configured in environment
  • Health checks implemented
  • Smoke tests defined
  • Rollback plan documented
  • [PROJECT-SPECIFIC REQUIREMENT]

Project-Specific Patterns

[CUSTOMIZE - ADD DEPLOYMENT CONTEXT]

Deployment Windows

  • [When deployments are allowed]

Approval Process

  • [Who must approve]
  • [What must be verified]

Post-Deployment Steps

  • [Smoke tests]
  • [Monitoring checks]
  • [Team notifications]

Customization Complete: Replace all [CUSTOMIZE] sections with project-detected or chosen patterns.

Auto-generated by:

/add-skill deployment-automation
command