Token导航 LogoToken导航TokenDH.com
前端设计敏感数据github未标认证来源可访问许可证需确认审计异常

deployment-pipeline部署管道

Agent Skill

用于辅助云资源、部署、容器、基础设施和运维自动化任务。它适合让 Agent 检查配置、整理部署步骤、分析资源状态、生成排障思路或辅助云服务接入。使用时需要明确目标环境、账号权限、区域和资源组,区分本地测试与生产操作;涉及删除资源、重启服务、修改网络或权限配置时,应先确认影响范围。

总安装

734

周安装

30

GitHub Stars

8

下载量

235
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:deployment-pipeline(部署管道)
来源仓库:https://github.com/hieutrtr/ai1-skills
仓库路径:skills/deployment-pipeline
安装命令:
npx skills add https://github.com/hieutrtr/ai1-skills --skill deployment-pipeline
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/hieutrtr/ai1-skills --skill deployment-pipeline

简介

管理 CI/CD 流水线全流程,从代码提交到生产发布的自动化流转。

  • 适用于 GitHub Actions 配置、健康检查与蓝绿部署策略实施。
  • 输出结构化报告记录每次部署结果,支持问题回溯与分析。
  • 需明确定义各环境门禁规则,防止低质量变更进入关键系统。
  • deployment-pipeline 属于前端设计类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Deployment Pipeline

When to Use

Activate this skill when:

  • Setting up or modifying CI/CD pipelines with GitHub Actions
  • Deploying application changes to staging or production environments
  • Planning environment promotion strategies (dev -> staging -> production)
  • Implementing pre-deployment validation gates
  • Configuring health checks and smoke tests for deployed services
  • Planning or executing rollback procedures after a failed deployment
  • Setting up canary or blue-green deployment strategies
  • Troubleshooting deployment failures or pipeline errors

Output: Write deployment results to deployment-report.md with status, version deployed, health check results, and rollback instructions if needed.

Do NOT use this skill for:

  • Building or optimizing Docker images (use docker-best-practices)
  • Responding to production incidents (use incident-response)
  • Setting up monitoring or alerting (use monitoring-setup)
  • Infrastructure provisioning (Terraform, CloudFormation)

Instructions

Pipeline Stages Overview

Every deployment follows a strict four-stage pipeline. No stage may be skipped.

┌──────────┐    ┌──────────┐    ┌──────────┐    ┌──────────────┐
│  BUILD   │───>│   TEST   │───>│ STAGING  │───>│  PRODUCTION  │
│          │    │          │    │          │    │              │
│ • Lint   │    │ • Unit   │    │ • Deploy │    │ • Canary 10% │
│ • Build  │    │ • Integ  │    │ • Smoke  │    │ • Monitor    │
│ • Image  │    │ • E2E    │    │ • QA     │    │ • Full 100%  │
└──────────┘    └──────────┘    └──────────┘    └──────────────┘
     Gate:           Gate:           Gate:            Gate:
  Build pass     Tests pass     Smoke pass      Health checks
  No lint err    Coverage ≥80%  Manual approve  Error rate <1%

Stage 1: Build

Build stage validates code quality and produces deployable artifacts.

Steps:

  1. Lint and format check -- Run ruff check and ruff format --check for Python, eslint and prettier --check for React
  2. Type check -- Run mypy for Python, tsc --noEmit for TypeScript
  3. Build artifacts -- Build Python wheel/sdist, build React production bundle
  4. Build Docker images -- Tag with git SHA and branch name

Gate criteria: All checks pass, images build successfully.

# GitHub Actions build stage
build:
  runs-on: ubuntu-latest
  steps:
    - uses: actions/checkout@v4
    - name: Lint Python
      run: ruff check src/ && ruff format --check src/
    - name: Type check Python
      run: mypy src/
    - name: Build backend image
      run: docker build -t app-backend:${{ github.sha }} -f Dockerfile.backend .
    - name: Build frontend
      run: npm ci && npm run build
    - name: Build frontend image
      run: docker build -t app-frontend:${{ github.sha }} -f Dockerfile.frontend .

Stage 2: Test

Run the full test suite. Never skip tests for "urgent" deployments.

Steps:

  1. Unit tests -- pytest tests/unit/ -v --cov=src --cov-report=xml
  2. Integration tests -- pytest tests/integration/ -v (requires test database)
  3. Frontend tests -- npm test -- --coverage
  4. E2E tests -- npx playwright test against a test environment
  5. Security scan -- pip-audit for Python, npm audit for Node

Gate criteria: All tests pass, coverage >= 80%, no critical vulnerabilities.

# GitHub Actions test stage
test:
  needs: build
  runs-on: ubuntu-latest
  services:
    postgres:
      image: postgres:16
      env:
        POSTGRES_DB: testdb
        POSTGRES_PASSWORD: testpass
      ports: ['5432:5432']
    redis:
      image: redis:7-alpine
      ports: ['6379:6379']
  steps:
    - uses: actions/checkout@v4
    - name: Run unit tests
      run: pytest tests/unit/ -v --cov=src --cov-report=xml
    - name: Run integration tests
      run: pytest tests/integration/ -v
      env:
        DATABASE_URL: postgresql://postgres:testpass@localhost:5432/testdb
    - name: Check coverage threshold
      run: coverage report --fail-under=80

Stage 3: Staging Deployment

Deploy to staging environment for validation before production.

Pre-deployment checklist:

  • All tests pass in CI
  • Database migrations tested with scripts/migration-dry-run.sh
  • Environment variables verified for staging
  • Feature flags configured appropriately
  • Dependent services verified available

Steps:

  1. Run migration dry-run -- Validate Alembic migrations against staging DB clone
  2. Deploy to staging -- Push images, apply migrations, restart services
  3. Run smoke tests -- Execute scripts/smoke-test.sh against staging URL
  4. Run health checks -- Execute scripts/health-check.py for all endpoints
  5. Manual QA -- Team verifies critical user flows

Gate criteria: Smoke tests pass, health checks green, QA sign-off.

Stage 4: Production Deployment

Production deployment uses canary strategy to minimize risk.

Canary deployment steps:

  1. Deploy canary (10% traffic) -- Route 10% of traffic to new version
  2. Monitor for 10 minutes -- Watch error rates, latency, resource usage
  3. Evaluate canary -- If error rate < 1% and p99 latency within 20% of baseline, proceed
  4. Ramp to 50% -- Increase traffic to 50%, monitor for 5 minutes
  5. Full rollout (100%) -- Complete the deployment
  6. Post-deployment smoke tests -- Run full smoke test suite
Canary Timeline:
  0 min    10 min   15 min   20 min
  |--------|--------|--------|
  10%      Check    50%      100%
  Deploy   Metrics  Ramp     Full
           OK?      Up       Rollout
           |
           No -> Rollback immediately

Automatic rollback triggers:

  • Error rate exceeds 5% during canary
  • p99 latency increases by more than 50%
  • Health check failures on canary instances
  • Memory usage exceeds 90% threshold

Pre-Deployment Validation

Run these validations before any deployment. Use scripts/deploy.sh --validate-only for a dry run.

Backend validation:

# Verify migrations are consistent
alembic check

# Verify no pending migrations
alembic heads --verbose

# Test migration against staging clone
./skills/deployment-pipeline/scripts/migration-dry-run.sh \
  --db-url "$STAGING_DB_URL" \
  --output-dir ./deploy-validation/

# Verify all dependencies are pinned
pip-compile --dry-run requirements.in

Frontend validation:

# Verify build succeeds
npm run build

# Check bundle size limits
npx bundlesize

# Verify environment variables are set
node -e "const vars = ['REACT_APP_API_URL']; vars.forEach(v => { if(!process.env[v]) throw new Error(v + ' not set') })"

Environment Promotion

Strict rules govern how changes move between environments.

AspectDevelopmentStagingProduction
Deploy triggerPush to mainManual or auto after testsManual approval required
DatabaseLocal PostgreSQLStaging PostgreSQLProduction PostgreSQL (RDS)
Secrets.env fileGitHub SecretsAWS Secrets Manager
Log levelDEBUGINFOWARNING
Feature flagsAll enabledPer-featureGradual rollout
SSLSelf-signedACM certACM cert
Replicas123+ (auto-scaled)

Promotion rules:

  1. Code must pass ALL gates in the previous stage
  2. Database migrations must be backward-compatible (no column drops without migration window)
  3. Environment variables must be configured BEFORE deployment
  4. Feature flags must be set to correct state BEFORE deployment
  5. Rollback plan must be documented BEFORE production deployment

Health Checks

Every service exposes health check endpoints. The deployment pipeline validates these after every deployment.

Required health check endpoints:

# FastAPI health check endpoints
@router.get("/health")
async def health():
    """Basic liveness check -- returns 200 if process is running."""
    return {"status": "healthy", "timestamp": datetime.utcnow().isoformat()}

@router.get("/health/ready")
async def readiness(db: AsyncSession = Depends(get_db)):
    """Readiness check -- verifies all dependencies are accessible."""
    checks = {}
    # Database
    try:
        await db.execute(text("SELECT 1"))
        checks["database"] = "ok"
    except Exception as e:
        checks["database"] = f"error: {str(e)}"
    # Redis
    try:
        await redis.ping()
        checks["redis"] = "ok"
    except Exception as e:
        checks["redis"] = f"error: {str(e)}"

    all_ok = all(v == "ok" for v in checks.values())
    return JSONResponse(
        status_code=200 if all_ok else 503,
        content={"status": "ready" if all_ok else "not_ready", "checks": checks}
    )

Health check strategy during deployment:

After deploy:
  Wait 10s -> Check /health (liveness)
  Wait 5s  -> Check /health/ready (readiness)
  Wait 5s  -> Check /health/ready again (stability)
  All pass -> Deployment successful
  Any fail -> Trigger rollback

Use scripts/health-check.py for automated health validation:

python scripts/health-check.py \
  --url https://staging.example.com \
  --retries 3 \
  --timeout 30 \
  --output-dir ./health-results/

Rollback Procedure

When a deployment fails, follow this rollback procedure immediately. See references/rollback-runbook.md for the full step-by-step guide.

Automated rollback (preferred):

# Roll back to previous version
./skills/deployment-pipeline/scripts/deploy.sh \
  --rollback \
  --version "$PREVIOUS_VERSION" \
  --output-dir ./rollback-results/

Rollback decision matrix:

SignalActionTimeline
Error rate > 5%Automatic rollbackImmediate
p99 latency > 2x baselineAutomatic rollbackImmediate
Health check failuresAutomatic rollbackAfter 2 retries
User-reported issuesManual rollback decisionWithin 15 minutes
Data inconsistencyStop traffic, investigateImmediate

Database rollback considerations:

  • Forward-only migrations are preferred; avoid alembic downgrade in production
  • If migration must be reversed, use a new forward migration to undo changes
  • Never drop columns or tables in the same release that removes code references
  • Use a two-phase approach: Phase 1 deploys new code (backward compatible), Phase 2 removes old columns

GitHub Actions CI/CD

The full CI/CD pipeline is defined in .github/workflows/deploy.yml. See references/github-actions-template.yml for the complete template.

Key workflow features:

  • Matrix testing -- Test against Python 3.12 and 3.13
  • Caching -- Cache pip, npm, and Docker layers for faster builds
  • Concurrency -- Cancel in-progress deployments when new commits arrive
  • Environment protection -- Require manual approval for production
  • Secrets management -- Use GitHub environment secrets per stage
# Key sections of the workflow
on:
  push:
    branches: [main]
  workflow_dispatch:
    inputs:
      environment:
        type: choice
        options: [staging, production]

concurrency:
  group: deploy-${{ github.ref }}
  cancel-in-progress: true

jobs:
  build:    # Stage 1
  test:     # Stage 2 (needs: build)
  staging:  # Stage 3 (needs: test)
  production:  # Stage 4 (needs: staging, manual approval)

Canary Deployment

Canary deployment routes a small percentage of traffic to the new version before full rollout.

Implementation with Docker and Nginx:

# nginx canary configuration
upstream backend {
    server backend-stable:8000 weight=9;   # 90% to stable
    server backend-canary:8000 weight=1;   # 10% to canary
}

Canary evaluation criteria:

# Canary health evaluation
def evaluate_canary(metrics: dict) -> bool:
    """Return True if canary is healthy enough to proceed."""
    checks = [
        metrics["error_rate"] < 0.01,           # < 1% error rate
        metrics["p99_latency_ms"] < 500,         # p99 under 500ms
        metrics["memory_usage_pct"] < 85,        # Memory under 85%
        metrics["cpu_usage_pct"] < 75,           # CPU under 75%
        metrics["successful_health_checks"] >= 3, # 3+ consecutive passes
    ]
    return all(checks)

Canary monitoring checklist:

  • Error rate compared to baseline (must be within 1%)
  • Latency percentiles (p50, p95, p99) compared to baseline
  • Resource utilization (CPU, memory) within thresholds
  • No increase in log error volume
  • Health check endpoints responding correctly
  • No degradation in dependent service metrics

Deployment Scripts

The following scripts automate deployment tasks:

ScriptPurposeUsage
scripts/deploy.shMain deployment orchestration./scripts/deploy.sh --env staging --output-dir./results/
scripts/smoke-test.shPost-deployment smoke tests./scripts/smoke-test.sh --url https://staging.example.com --output-dir./results/
scripts/health-check.pyHealth endpoint validationpython scripts/health-check.py --url https://staging.example.com --output-dir./results/
scripts/migration-dry-run.shTest migrations safely./scripts/migration-dry-run.sh --db-url $DB_URL --output-dir./results/

Quick Reference

Deploy to staging:

./skills/deployment-pipeline/scripts/deploy.sh \
  --env staging \
  --version $(git rev-parse --short HEAD) \
  --output-dir ./deploy-results/

Deploy to production (with canary):

./skills/deployment-pipeline/scripts/deploy.sh \
  --env production \
  --version $(git rev-parse --short HEAD) \
  --canary \
  --output-dir ./deploy-results/

Run smoke tests:

./skills/deployment-pipeline/scripts/smoke-test.sh \
  --url https://staging.example.com \
  --output-dir ./smoke-results/

Emergency rollback:

./skills/deployment-pipeline/scripts/deploy.sh \
  --rollback \
  --env production \
  --version $PREVIOUS_SHA \
  --output-dir ./rollback-results/

Output File

Write deployment results to deployment-report.md:

# Deployment Report

## Summary

- **Environment:** staging | production
- **Version:** abc1234 (git SHA)
- **Status:** SUCCESS | FAILED | ROLLED_BACK
- **Timestamp:** 2024-01-15T14:30:00Z
- **Duration:** 12 minutes

## Pipeline Stages

| Stage | Status | Duration | Notes |
|-------|--------|----------|-------|
| Build | PASS | 3m | Image built: app:abc1234 |
| Test | PASS | 5m | 142 tests, 85% coverage |
| Staging | PASS | 2m | Smoke tests passed |
| Production | PASS | 2m | Canary 10% → 50% → 100% |

## Health Checks

- `/health` — 200 OK (12ms)
- `/health/ready` — 200 OK (45ms)

## Rollback Instructions

If issues occur, run:
\`\`\`bash
./scripts/deploy.sh --rollback --env production --version $PREV_SHA
\`\`\`

Previous version: def5678

## Next Steps

- Run `/monitoring-setup` to verify alerts are configured
- Run `/incident-response` if errors occur

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.25%
按下载量换算83

Claude

29.18%
按下载量换算69

Cursor

19.37%
按下载量换算46

Gemini CLI

10.33%
按下载量换算24

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

未通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills