Déploiement Automatisé

VérifiéPrudence

Automatise le déploiement d'applications vers un environnement spécifié (production, staging, QA) avec des vérifications préalables : état Git, branche correcte, tests, variables d'environnement. Prend en charge plusieurs types de projets (FastAPI sur VPS, Next.js sur Vercel, Docker, AWS Lambda) et offre un rollback automatique en cas d'échec.

Spar Skills Guide Bot
DevOpsIntermédiaire
5002/06/2026
Claude Code
#deployment#rollback#environment#pre-deployment-checks#health-check

Recommandé pour

Notre avis

Déploie une application dans un environnement spécifique avec des vérifications préalables, validation de santé et rollback automatique en cas d'échec.

Points forts

  • Vérifications pré-déploiement (statut git, branche, tests, variables d'environnement)
  • Procédure de rollback automatique en cas d'échec
  • Supporte plusieurs types de projets (FastAPI, Next.js, Docker, AWS Lambda)

Limites

  • Les commandes de déploiement sont spécifiques à des projets listés dans la compétence
  • Nécessite que les fichiers .env et les configurations soient déjà en place
  • Ne gère pas les déploiements initiaux ni la configuration de l'infrastructure
Quand l'utiliser

Utilisez cette compétence pour des déploiements reproductibles avec vérifications et possibilité de rollback dans des environnements connus.

Quand l'éviter

Évitez de l'utiliser pour un premier déploiement, une configuration d'infrastructure, ou des environnements non documentés.

Analyse de sécurité

Prudence
Score qualité90/100

The skill automates legitimate deployment tasks with pre-checks and rollback, using powerful system tools. It is designed for operational use and carries inherent risk if executed in untested or unauthorized environments, but contains no malicious instructions.

Points d'attention
  • The skill executes bash commands including ssh, systemctl, docker-compose, and curl, which could alter production infrastructure. No destructive or obfuscated payloads are present, but misuse could cause outages or data loss.
  • Hardcoded server paths and service names may lead to unintended modifications if applied in the wrong context.

Exemples

Deploy to staging
Deploy the current project to the staging environment with pre-checks and health validation.
Production deployment with rollback
Deploy to production with full pre-deployment checklist and enable auto-rollback on health check failure.

name: deploy description: Deploy application to specified environment with pre-checks and rollback capability. Use for production deployments, staging updates, or release management. argument-hint: [environment] disable-model-invocation: true allowed-tools: Bash, Read, Glob, Grep

Automated Deployment

Deploy applications with pre-deployment checks, health validation, and automatic rollback on failure.

Arguments

  • $0: Environment - production, staging, qa, development (required)

Pre-Deployment Checklist

Before deploying, verify:

  1. Git Status Clean

    git status --porcelain
    # Must be empty or only untracked files
    
  2. On Correct Branch

    • production: main or master
    • staging: staging or DEVELOPMENT
    • qa: qa or DEVELOPMENT
  3. Tests Pass

    # Run test suite first
    /test all
    
  4. Environment Variables

    • Check .env.$ENVIRONMENT exists
    • Validate required variables are set

Deployment Strategies by Project

FastAPI Projects (IONOS VPS)

eruditiontx-services-mvp, mathmatterstx-services:

# 1. Connect to server
ssh user@server

# 2. Pull latest code
cd /path/to/project
git pull origin $BRANCH

# 3. Install dependencies
uv sync

# 4. Run migrations (if any)
uv run alembic upgrade head

# 5. Restart service
sudo systemctl restart erudition-service

# 6. Health check
curl -f http://localhost:8000/health || exit 1

# 7. Verify logs
journalctl -u erudition-service -n 20 --no-pager

Next.js Projects (Vercel)

bocs-turbo apps, naiomi-frontend:

# Using Vercel CLI
vercel --prod
# or for preview
vercel

Docker Projects

agila-tax-management:

# 1. Build new image
docker-compose -f docker-compose.$ENV.yml build

# 2. Stop old containers
docker-compose -f docker-compose.$ENV.yml down

# 3. Start new containers
docker-compose -f docker-compose.$ENV.yml up -d

# 4. Health check
docker-compose -f docker-compose.$ENV.yml ps
curl -f http://localhost:PORT/health

AWS Lambda (Serverless)

bocs-serverless:

cd bocs-serverless
./deployment.sh $ENVIRONMENT

Rollback Procedure

If deployment fails:

  1. Git Rollback

    git checkout $PREVIOUS_COMMIT
    
  2. Restart Services

    sudo systemctl restart $SERVICE
    # or
    docker-compose -f docker-compose.$ENV.yml up -d
    
  3. Verify Rollback

    curl -f http://localhost:PORT/health
    

Post-Deployment

  1. Verify Health Endpoints

    curl http://localhost:PORT/health
    curl http://localhost:PORT/v1/health
    
  2. Check Logs for Errors

    journalctl -u $SERVICE -n 50 --no-pager | grep -i error
    # or
    docker logs $CONTAINER --tail 50
    
  3. Send Notification (if configured)

    • Slack webhook
    • Email notification

Output Format

Deployment: [project-name]
Environment: [production/staging/qa]
Branch: [branch-name]
Commit: [short-hash]

Pre-checks:
  Git status: CLEAN
  Branch: CORRECT
  Tests: PASSED
  Env vars: VALIDATED

Deploying...
[Deployment output]

Post-deployment:
  Health check: PASSED
  Service status: RUNNING

Deployment completed successfully!
URL: [deployed-url]
Skills similaires