deployment-procedures

生产部署原则与决策。安全的部署流程、回滚策略及验证方法。重在思维培养,而非脚本依赖。

查看详情
name:deployment-proceduresdescription:Production deployment principles and decision-making. Safe deployment workflows, rollback strategies, and verification. Teaches thinking, not scripts.allowed-tools:Read, Glob, Grep, Bash

Deployment Procedures

> Deployment principles and decision-making for safe production releases.
> Learn to THINK, not memorize scripts.


⚠️ How to Use This Skill

This skill teaches deployment principles, not bash scripts to copy.

  • Every deployment is unique

  • Understand the WHY behind each step

  • Adapt procedures to your platform

  • 1. Platform Selection

    Decision Tree

    What are you deploying?

    ├── Static site / JAMstack
    │ └── Vercel, Netlify, Cloudflare Pages

    ├── Simple web app
    │ ├── Managed → Railway, Render, Fly.io
    │ └── Control → VPS + PM2/Docker

    ├── Microservices
    │ └── Container orchestration

    └── Serverless
    └── Edge functions, Lambda

    Each Platform Has Different Procedures

    PlatformDeployment Method
    Vercel/NetlifyGit push, auto-deploy
    Railway/RenderGit push or CLI
    VPS + PM2SSH + manual steps
    DockerImage push + orchestration
    Kuberneteskubectl apply


    2. Pre-Deployment Principles

    The 4 Verification Categories

    CategoryWhat to Check
    Code QualityTests passing, linting clean, reviewed
    BuildProduction build works, no warnings
    EnvironmentEnv vars set, secrets current
    SafetyBackup done, rollback plan ready

    Pre-Deployment Checklist

  • [ ] All tests passing

  • [ ] Code reviewed and approved

  • [ ] Production build successful

  • [ ] Environment variables verified

  • [ ] Database migrations ready (if any)

  • [ ] Rollback plan documented

  • [ ] Team notified

  • [ ] Monitoring ready

  • 3. Deployment Workflow Principles

    The 5-Phase Process

    1. PREPARE
    └── Verify code, build, env vars

  • BACKUP

  • └── Save current state before changing

  • DEPLOY

  • └── Execute with monitoring open

  • VERIFY

  • └── Health check, logs, key flows

  • CONFIRM or ROLLBACK

  • └── All good? Confirm. Issues? Rollback.

    Phase Principles

    PhasePrinciple
    PrepareNever deploy untested code
    BackupCan't rollback without backup
    DeployWatch it happen, don't walk away
    VerifyTrust but verify
    ConfirmHave rollback trigger ready


    4. Post-Deployment Verification

    What to Verify

    CheckWhy
    Health endpointService is running
    Error logsNo new errors
    Key user flowsCritical features work
    PerformanceResponse times acceptable

    Verification Window

  • First 5 minutes: Active monitoring

  • 15 minutes: Confirm stable

  • 1 hour: Final verification

  • Next day: Review metrics

  • 5. Rollback Principles

    When to Rollback

    SymptomAction
    Service downRollback immediately
    Critical errorsRollback
    Performance >50% degradedConsider rollback
    Minor issuesFix forward if quick

    Rollback Strategy by Platform

    PlatformRollback Method
    Vercel/NetlifyRedeploy previous commit
    Railway/RenderRollback in dashboard
    VPS + PM2Restore backup, restart
    DockerPrevious image tag
    K8skubectl rollout undo

    Rollback Principles

  • Speed over perfection: Rollback first, debug later

  • Don't compound errors: One rollback, not multiple changes

  • Communicate: Tell team what happened

  • Post-mortem: Understand why after stable

  • 6. Zero-Downtime Deployment

    Strategies

    StrategyHow It Works
    RollingReplace instances one by one
    Blue-GreenSwitch traffic between environments
    CanaryGradual traffic shift

    Selection Principles

    ScenarioStrategy
    Standard releaseRolling
    High-risk changeBlue-green (easy rollback)
    Need validationCanary (test with real traffic)


    7. Emergency Procedures

    Service Down Priority

  • Assess: What's the symptom?

  • Quick fix: Restart if unclear

  • Rollback: If restart doesn't help

  • Investigate: After stable
  • Investigation Order

    CheckCommon Issues
    LogsErrors, exceptions
    ResourcesDisk full, memory
    NetworkDNS, firewall
    DependenciesDatabase, APIs


    8. Anti-Patterns

    ❌ Don't✅ Do
    Deploy on FridayDeploy early in week
    Rush deploymentFollow the process
    Skip stagingAlways test first
    Deploy without backupBackup before deploy
    Walk away after deployMonitor for 15+ min
    Multiple changes at onceOne change at a time


    9. Decision Checklist

    Before deploying:

  • [ ] Platform-appropriate procedure?

  • [ ] Backup strategy ready?

  • [ ] Rollback plan documented?

  • [ ] Monitoring configured?

  • [ ] Team notified?

  • [ ] Time to monitor after?

  • 10. Best Practices

  • Small, frequent deploys over big releases

  • Feature flags for risky changes

  • Automate repetitive steps

  • Document every deployment

  • Review what went wrong after issues

  • Test rollback before you need it

  • > Remember: Every deployment is a risk. Minimize risk through preparation, not speed.