Initial commit
This commit is contained in:
345
skills/spec-author/templates/deployment-procedure.md
Normal file
345
skills/spec-author/templates/deployment-procedure.md
Normal file
@@ -0,0 +1,345 @@
|
||||
# [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
|
||||
<!-- Brief description of what this deployment accomplishes -->
|
||||
|
||||
### Scope
|
||||
<!-- What systems/services are affected by this deployment -->
|
||||
|
||||
|
||||
### Risk Level
|
||||
<!-- Select one: Low / Medium / High -->
|
||||
**Risk Level:** [Low/Medium/High]
|
||||
|
||||
**Risk Factors:**
|
||||
- <!-- Key risk 1 -->
|
||||
- <!-- Key risk 2 -->
|
||||
|
||||
---
|
||||
|
||||
## 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
|
||||
<!-- List any external dependencies or coordinated deployments -->
|
||||
- <!-- Dependency 1 -->
|
||||
- <!-- Dependency 2 -->
|
||||
|
||||
---
|
||||
|
||||
## 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
|
||||
```bash
|
||||
# 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)
|
||||
```bash
|
||||
# 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)
|
||||
```bash
|
||||
# Run database migrations
|
||||
# TODO: Add migration commands
|
||||
```
|
||||
|
||||
**Verification:**
|
||||
- [ ] Migrations completed without errors
|
||||
- [ ] Schema changes applied correctly
|
||||
- [ ] Data integrity verified
|
||||
|
||||
#### Step 2.2: Application Deployment
|
||||
```bash
|
||||
# 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
|
||||
```bash
|
||||
# Update configuration/environment variables
|
||||
# TODO: Add configuration update commands
|
||||
```
|
||||
|
||||
**Verification:**
|
||||
- [ ] Configuration changes applied
|
||||
- [ ] Services reloaded/restarted
|
||||
|
||||
#### Step 2.4: Service Restart/Reload
|
||||
```bash
|
||||
# Restart affected services
|
||||
# TODO: Add restart commands
|
||||
```
|
||||
|
||||
**Verification:**
|
||||
- [ ] All services running
|
||||
- [ ] Health checks passing
|
||||
|
||||
---
|
||||
|
||||
### Phase 3: Post-Deployment Verification
|
||||
|
||||
#### Step 3.1: Health Checks
|
||||
```bash
|
||||
# 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
|
||||
<!-- Key functionality to verify manually or via smoke tests -->
|
||||
- [ ] **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]
|
||||
|
||||
```bash
|
||||
# Check key metrics
|
||||
# TODO: Add commands to query metrics
|
||||
```
|
||||
|
||||
#### Step 3.4: Disable Maintenance Mode
|
||||
```bash
|
||||
# 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
|
||||
```bash
|
||||
# Stop new deployment
|
||||
# TODO: Add commands to halt deployment
|
||||
```
|
||||
|
||||
#### Step R.2: Revert Application
|
||||
```bash
|
||||
# Deploy previous version
|
||||
# TODO: Add rollback deployment commands
|
||||
```
|
||||
|
||||
**Verification:**
|
||||
- [ ] Previous version deployed
|
||||
- [ ] Services healthy
|
||||
|
||||
#### Step R.3: Revert Database (if needed)
|
||||
```bash
|
||||
# Rollback database migrations
|
||||
# TODO: Add migration rollback commands
|
||||
```
|
||||
|
||||
**Verification:**
|
||||
- [ ] Database schema reverted
|
||||
- [ ] Data integrity verified
|
||||
|
||||
#### Step R.4: Revert Configuration
|
||||
```bash
|
||||
# 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
|
||||
<!-- Define what "successful deployment" means -->
|
||||
- [ ] 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
|
||||
```bash
|
||||
# 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
|
||||
<!-- Additional notes, special considerations, or lessons learned -->
|
||||
Reference in New Issue
Block a user