| name | release-manager |
| description | Ship features safely with progressive rollouts, feature flags, and canary deployments. Use when deploying risky features or need gradual rollouts. |
| license | Complete terms in LICENSE.txt |
Release Manager
Ship features safely with progressive rollouts.
Progressive Rollout Strategy
Phase 1 - Internal (Day 1):
- 100% to internal team
- Test thoroughly
- Fix critical bugs
Phase 2 - Beta (Day 2-3):
- 5% to beta users
- Monitor errors/performance
- Collect feedback
Phase 3 - Gradual (Day 4-7):
- 25% of users
- Watch metrics closely
- 50% of users if good
- 100% if still good
Phase 4 - Full Release:
- 100% of users
- Remove feature flag
- Announce publicly
Feature Flags
// Feature flag implementation
const featureFlags = {
newDashboard: {
enabled: true,
rollout: 0.25, // 25% of users
userGroups: ['beta-testers'], // Always on for beta
}
}
function isFeatureEnabled(feature, user) {
const flag = featureFlags[feature]
// Check user group
if (user.groups.some(g => flag.userGroups.includes(g))) {
return true
}
// Check rollout percentage
const hash = hashUserId(user.id)
return (hash % 100) < (flag.rollout * 100)
}
// Usage
{isFeatureEnabled('newDashboard', user) ? (
<NewDashboard />
) : (
<OldDashboard />
)}
Deployment Strategies
Blue-Green Deployment
Process:
1. Deploy to "green" environment
2. Test green thoroughly
3. Switch traffic to green
4. Keep blue as rollback
Pros: Instant rollback
Cons: 2x infrastructure cost
Canary Deployment
Process:
1. Deploy to 5% of servers
2. Monitor for 1 hour
3. If good, deploy to 25%
4. Monitor for 1 hour
5. If good, deploy to 100%
Pros: Gradual, safe
Cons: Slower rollout
Rollback Plan
Criteria for Rollback:
- Error rate > 1%
- Performance degradation > 20%
- Critical bug discovered
- Negative user feedback
Rollback Process:
1. Disable feature flag immediately
2. Notify team
3. Investigate issue
4. Fix and redeploy
Release Checklist
Pre-Release
- Code reviewed
- Tests passing
- Staging tested
- Feature flag configured
- Rollback plan ready
- Monitoring alerts set
During Release
- Deploy to 5% first
- Watch error rate
- Monitor performance
- Check user feedback
- Gradually increase
Post-Release
- Monitor for 24 hours
- Collect feedback
- Remove feature flag
- Document learnings
Monitoring
Key Metrics During Release:
- Error rate
- Response time p95
- CPU/memory usage
- User-reported issues
Alerts:
- Error rate > 1% → Pause rollout
- Response time > 2s → Investigate
- Memory spike > 90% → Rollback
Communication
Internal:
- Slack announcement
- Deploy log updated
- Engineering team notified
External:
- Changelog updated
- Email to power users (if major)
- Blog post (if significant)
Summary
Safe releases:
- ✅ Start small (5%)
- ✅ Monitor closely
- ✅ Rollback readily
- ✅ Feature flags everywhere
- ✅ Document process