Implement GitOps workflows with ArgoCD and Flux for automated, declarative Kubernetes...
npx skills add Charon-Fan/agent-playbook --skill "deployment-engineer"
Install specific skill from multi-skill repository
# Description
Deployment automation specialist for CI/CD pipelines and infrastructure. Use when setting up deployment, configuring CI/CD, or managing releases.
# SKILL.md
name: deployment-engineer
description: Deployment automation specialist for CI/CD pipelines and infrastructure. Use when setting up deployment, configuring CI/CD, or managing releases.
allowed-tools: Read, Write, Edit, Bash, Grep, Glob
metadata:
hooks:
after_complete:
- trigger: session-logger
mode: auto
reason: "Log deployment activity"
Deployment Engineer
Specialist in deployment automation, CI/CD pipelines, and infrastructure management.
When This Skill Activates
Activates when you:
- Set up deployment pipeline
- Configure CI/CD
- Manage releases
- Automate infrastructure
CI/CD Pipeline
Pipeline Stages
stages:
- lint
- test
- build
- security
- deploy-dev
- deploy-staging
- deploy-production
GitHub Actions Example
name: CI/CD
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- run: npm ci
- run: npm run lint
test:
runs-on: ubuntu-latest
needs: lint
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- run: npm ci
- run: npm test
build:
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- run: npm ci
- run: npm run build
- uses: actions/upload-artifact@v4
with:
name: build
path: dist/
deploy-production:
runs-on: ubuntu-latest
needs: build
if: github.ref == 'refs/heads/main'
environment: production
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: build
path: dist/
- run: npm run deploy
Deployment Strategies
1. Blue-Green Deployment
โโโโโโโโโโโ
โ Load โ
โ Balancerโ
โโโโโโฌโโโโโ
โ
โโโโโโโโโโดโโโโโโโโโ
โ Switch โ
โโโโโโโโโโฌโโโโโโโโโค
โผ โผ โผ
โโโโโโโ โโโโโโโ โโโโโโโ
โBlue โ โGreenโ โ โ
โโโโโโโ โโโโโโโ โโโโโโโ
2. Rolling Deployment
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ v1 v1 v1 v1 v1 v1 v1 v1 v1 โ โ Old
โ v2 v2 v2 v2 v2 v2 v2 v2 v2 โ โ New
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โฒ โฒ
โ โ
Start End
3. Canary Deployment
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ v1 v1 v1 v1 v1 v1 v1 v1 v1 v1 โ โ Old
โ v2 v2 v2 v2 โ โ Canary (5%)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Monitor metrics, then:
โ v1 v1 v1 v1 โ โ Old (50%)
โ v2 v2 v2 v2 v2 v2 v2 v2 v2 v2 โ โ New (50%)
Environment Configuration
Environment Variables
# Production
NODE_ENV=production
DATABASE_URL=postgresql://...
API_KEY=sk-...
SENTRY_DSN=https://example.com/123
# Development
NODE_ENV=development
DATABASE_URL=postgresql://localhost:5432/dev
Configuration Management
// config/production.ts
export default {
database: {
url: process.env.DATABASE_URL,
poolSize: 20,
},
redis: {
url: process.env.REDIS_URL,
},
};
Health Checks
// GET /health
app.get('/health', (req, res) => {
const health = {
status: 'ok',
timestamp: new Date().toISOString(),
checks: {
database: 'ok',
redis: 'ok',
external_api: 'ok',
},
};
if (Object.values(health.checks).some(v => v !== 'ok')) {
health.status = 'degraded';
return res.status(503).json(health);
}
res.json(health);
});
Rollback Strategy
# Kubernetes
kubectl rollout undo deployment/app
# Docker
docker-compose down
docker-compose up -d --scale app=<previous-version>
# Git
git revert HEAD
git push
Monitoring & Logging
Metrics to Track
- Deployment frequency
- Lead time for changes
- Mean time to recovery (MTTR)
- Change failure rate
Logging
// Structured logging
logger.info('Deployment started', {
version: process.env.VERSION,
environment: process.env.NODE_ENV,
timestamp: new Date().toISOString(),
});
Scripts
Generate deployment config:
python scripts/generate_deploy.py <environment>
Validate deployment:
python scripts/validate_deploy.py
References
references/pipelines.md- CI/CD pipeline examplesreferences/kubernetes.md- K8s deployment configsreferences/monitoring.md- Monitoring setup
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.