deployment-strategies

Explain software deployment strategies and database migration patterns.

Updated Mar 13, 2026
One-click install
npx skills add https://github.com/kirvin/copilot-cli-essentials --skill deployment-strategies-kirvin
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: deployment-strategies
Source: https://github.com/kirvin/copilot-cli-essentials/tree/main/plugins/cpe/skills/deployment-strategies
Command: npx skills add https://github.com/kirvin/copilot-cli-essentials --skill deployment-strategies-kirvin

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps you understand and implement various strategies for deploying software updates to production environments, minimizing risk and downtime.

Core Features & Use Cases

  • Strategy Comparison: Understand the trade-offs between rolling, blue/green, canary, and feature flag deployments.
  • Database Migration Guidance: Learn the expand-contract pattern for zero-downtime database changes.
  • Use Case: When planning a critical production release, use this Skill to choose the most appropriate deployment strategy based on your team's risk tolerance and rollback requirements.

Quick Start

Explain the expand-contract pattern for database migrations.

Frequently Asked Questions about deployment-strategies

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What is the difference between blue/green and canary deployment strategies?

Blue/green deployment switches traffic between two identical environments, while canary release incrementally routes a small percentage of users to the new version. This Skill compares both approaches alongside rolling and feature flag deployments to help you choose based on risk tolerance.

How do I do zero-downtime database migrations during a production release?

To achieve zero-downtime database migrations, use the expand-contract pattern. This Skill explains how to separate schema changes from code changes, allowing backward-compatible database updates that do not interrupt active production traffic.

When should I use feature flags instead of a rolling deployment?

Use feature flags when you need to decouple deploy from release and test in production safely. This Skill explains how feature flags provide runtime control over visibility, whereas rolling deployments gradually replace instances without runtime toggles.

What is the expand-contract pattern for database changes?

The expand-contract pattern is a database migration technique for zero-downtime deployments. This Skill details how to expand the schema first, migrate data, and then contract the old schema, ensuring continuous application availability.

How do I safely test new features in production?

Safely test in production by decoupling deploy from release using canary releases or feature flags. This Skill provides guidance on routing a subset of traffic to new versions to validate behavior before a full rollout.

Which deployment strategy is best for minimizing downtime and rollback risk?

For minimizing downtime and rollback risk, blue/green and canary strategies are highly effective. This Skill compares these release engineering approaches, offering guidance on selecting the right one based on your specific rollback requirements.