Files
gh-onezerocompany-claude-pr…/skills/spec-author/templates/deployment-procedure.md
2025-11-30 08:45:31 +08:00

7.6 KiB

[Feature Name] Deployment Procedure

Document Metadata

Field Value
Document Type Deployment Procedure (DEPLOY)
Document ID deploy-[project]-[nnn]-[feature-name]
Status Draft
Version 1.0.0
Author [Author Name]
Approver [Deployment Lead/DevOps Lead]
Related Specs [Links to PRD, Technical Design, etc.]

Overview

Purpose

Scope

Risk Level

Risk Level: [Low/Medium/High]

Risk Factors:


Prerequisites

Required Access

  • Production deployment credentials
  • Database access (if applicable)
  • Cloud provider console access
  • Monitoring dashboard access
  • Communication channels (Slack, PagerDuty, etc.)

Required Approvals

  • Code review completed
  • Security review (if applicable)
  • Deployment lead approval
  • Stakeholder sign-off

Environment Readiness

  • Staging deployment successful
  • All tests passing in CI/CD
  • Database migrations tested
  • Rollback plan validated
  • Monitoring/alerts configured

Dependencies


Pre-Deployment Checklist

Code & Build

  • All PRs merged to deployment branch
  • Build artifacts created and verified
  • Version tags applied correctly
  • Release notes prepared

Infrastructure

  • Resource capacity verified (CPU, memory, disk)
  • Scaling policies reviewed
  • Rate limits and quotas checked
  • SSL certificates valid

Database

  • Migrations tested in staging
  • Migration rollback tested
  • Database backups verified
  • Query performance validated

Monitoring & Observability

  • Health check endpoints verified
  • Key metrics dashboard ready
  • Alert rules configured
  • Log aggregation working

Communication

  • Deployment window scheduled and communicated
  • On-call team notified
  • Stakeholders informed
  • Status page updated (if applicable)

Rollback Readiness

  • Previous version artifacts available
  • Rollback procedure documented
  • Database rollback scripts ready
  • Rollback decision criteria defined

Deployment Steps

Phase 1: Pre-Deployment Setup

Step 1.1: Environment Preparation

# Verify current system state
# TODO: Add commands to check current deployment version

# Backup current configuration
# TODO: Add backup commands

Verification:

  • Current version identified
  • Backups completed successfully

Step 1.2: Enable Maintenance Mode (if applicable)

# TODO: Add commands to enable maintenance mode

Verification:

  • Maintenance page visible
  • Traffic routing confirmed

Phase 2: Deployment Execution

Step 2.1: Database Migration (if applicable)

# Run database migrations
# TODO: Add migration commands

Verification:

  • Migrations completed without errors
  • Schema changes applied correctly
  • Data integrity verified

Step 2.2: Application Deployment

# Deploy new application version
# TODO: Add deployment commands (e.g., kubectl apply, docker deploy, etc.)

Verification:

  • New version deployed
  • Pods/instances healthy
  • No deployment errors

Step 2.3: Configuration Updates

# Update configuration/environment variables
# TODO: Add configuration update commands

Verification:

  • Configuration changes applied
  • Services reloaded/restarted

Step 2.4: Service Restart/Reload

# Restart affected services
# TODO: Add restart commands

Verification:

  • All services running
  • Health checks passing

Phase 3: Post-Deployment Verification

Step 3.1: Health Checks

# Verify service health
# TODO: Add health check commands

Verification:

  • All health endpoints returning 200
  • No error logs in past 5 minutes
  • All instances/pods ready

Step 3.2: Functional Testing

  • Test Case 1: [Description] - Expected: [result]
  • Test Case 2: [Description] - Expected: [result]
  • Test Case 3: [Description] - Expected: [result]

Step 3.3: Monitoring Verification

Key Metrics to Monitor:

  • Response time: [threshold]
  • Error rate: [threshold]
  • Throughput: [threshold]
  • Resource utilization: [threshold]
# Check key metrics
# TODO: Add commands to query metrics

Step 3.4: Disable Maintenance Mode

# TODO: Add commands to disable maintenance mode

Verification:

  • Normal traffic restored
  • Users can access application

Rollback Plan

Rollback Decision Criteria

Initiate rollback if any of the following occur:

  • Error rate exceeds [threshold]% for more than [duration] minutes
  • Critical functionality broken (specifically: [list critical features])
  • Performance degradation > [threshold]% from baseline
  • Database corruption or data loss detected
  • [Other critical failure condition]

Rollback Procedure

Step R.1: Initiate Rollback

# Stop new deployment
# TODO: Add commands to halt deployment

Step R.2: Revert Application

# Deploy previous version
# TODO: Add rollback deployment commands

Verification:

  • Previous version deployed
  • Services healthy

Step R.3: Revert Database (if needed)

# Rollback database migrations
# TODO: Add migration rollback commands

Verification:

  • Database schema reverted
  • Data integrity verified

Step R.4: Revert Configuration

# Restore previous configuration
# TODO: Add configuration restore commands

Verification:

  • Configuration restored
  • Services using correct config

Step R.5: Verify Rollback

  • System functionality restored
  • Error rates normalized
  • No data loss
  • Users can access application

Post-Rollback Actions

  • Notify stakeholders of rollback
  • Document rollback reason
  • Schedule post-mortem
  • Update deployment status

Verification

Success Criteria

  • All services healthy for [duration] minutes
  • Error rate < [threshold]%
  • Response time within [threshold]ms
  • No critical errors in logs
  • All functional tests passing
  • User traffic processing normally

Post-Deployment Monitoring Focus

Monitor for:

  • Application errors and exceptions
  • Performance metrics (latency, throughput)
  • Resource utilization
  • User-reported issues
  • Business metrics (if applicable)

Sign-off

Role Name Signature
Deployment Lead
Technical Lead
Operations

Appendix

Environment Details

Environment URL/Endpoint Version
Production
Staging

Key Contacts

Role Name Contact
Deployment Lead
On-Call Engineer
Technical Lead
DevOps Lead

Important Commands Reference

# Check deployment status
# TODO: Add status check commands

# View logs
# TODO: Add log viewing commands

# Check metrics
# TODO: Add metrics commands

# Emergency rollback (one-liner)
# TODO: Add emergency rollback command

Notes