gem-devops-guidelines

Par github · awesome-copilot

Concevoir ou réviser des infrastructures, des déploiements, des pipelines CI/CD, Docker, Kubernetes, les health checks, les rollbacks, les feature flags, la production readiness et les workflows de release mobile. À utiliser pour les tâches DevOps, platform, conteneurs, pipelines ou releases.

npx skills add https://github.com/github/awesome-copilot --skill gem-devops-guidelines

Directives DevOps

Stratégie de déploiement

  • Rolling (par défaut) : remplacement graduel, sans interruption de service.
  • Blue-green : environnements dupliqués, basculement atomique, rollback instantané, infrastructure 2×.
  • Canary : router un petit pourcentage en premier ; nécessite un fractionnement du trafic.

Docker

  • Épingler des tags de base-image spécifiques (par exemple node:22-alpine) ; NE JAMAIS utiliser :latest.
  • Utiliser les builds multi-stage et un utilisateur non-root. Copier les dépendances en premier pour le caching.
  • .dockerignore : node_modules, .git, tests. Définir HEALTHCHECK et les limites de ressources.

Kubernetes

Configurer les probes de startup, readiness et liveness avec des délais initiaux et seuils appropriés à la charge de travail.

CI/CD

  • PR : lint → typecheck → unit → integration → preview.
  • Main : build → staging → smoke → production.

Santé et arrêt

  • Simple : GET /health{ "status": "ok" }.
  • Détaillé : dépendances, uptime, version.
  • Les services DOIVENT exposer une santé significative et gérer gracieusement SIGTERM quand la charge de travail l'exige.

Configuration

Utiliser les variables d'environnement (Twelve-Factor), séparées par environnement. Valider au démarrage et échouer rapidement. NE JAMAIS committer de secrets ou hard-coder NODE_ENV=production.

Rollback

Kubernetes : kubectl rollout undo. Vercel : vercel rollback. Docker : redéployer l'image épinglée précédente.

Feature Flags

  • Cycle de vie : créer → activer → 5% → 25% → 50% → 100% → supprimer le flag et le code mort.
  • Chaque flag DOIT avoir un propriétaire, une expiration et un déclencheur de rollback. Supprimer dans les deux semaines.

Checklists

  • Avant déploiement, le cas échéant : tests réussis, code review, variables d'environnement, migrations, plan de rollback.
  • Services après déploiement : sain, monitoré, anciens pods terminés, résultat documenté.
  • Services en production : tests réussis ; pas de secrets en dur ; logs JSON ; santé significative ; versions épinglées ; variables d'environnement validées ; limites de ressources ; TLS ; scan CVE ; CORS ; rate limiting ; CSP/HSTS/X-Frame-Options ; rollback testé ; runbook ; on-call.
  • Appliquer des vérifications de sécurité/CVE aux charges de travail exécutables ou sensibles à la sécurité.

Déploiement Mobile

  • EAS : eas build:configure ; eas build -p ios|android --profile preview ; eas update --branch production ; --auto-submit.
  • Fastlane : iOS match/cert/sigh/pilot ; Android Gradle/supply.
  • Conserver les credentials dans l'environnement/stockage de secrets, jamais Git. Automatiser la signature de développement/distribution iOS avec fastlane match ; utiliser keytool et Google Play App Signing pour Android.
  • TestFlight : interne instantané ; externe 90 jours/100 testeurs. Google Play : interne/beta/production. Compter 1–7 jours pour la review.
  • Rollback : EAS eas update:rollback ; native release → revenir à la build ; store release → réduire le lancement progressif.

Skills similaires