vercel-deploy-integrationClaude Skill

Deploy Vercel integrations to Vercel, Fly.io, and Cloud Run platforms.

1.9k Stars
259 Forks
2025/10/10

Install & Download

Linux / macOS:

请登录后查看安装命令

Windows (PowerShell):

请登录后查看安装命令

Download and extract to ~/.claude/skills/

namevercel-deploy-integration
descriptionDeploy and manage Vercel production deployments with promotion, rollback, and multi-region strategies. Use when deploying to production, configuring deployment regions, or setting up blue-green deployment patterns on Vercel. Trigger with phrases like "deploy vercel", "vercel production deploy", "vercel promote", "vercel rollback", "vercel regions".
allowed-toolsRead, Write, Edit, Bash(vercel:*), Bash(curl:*)
version1.0.0
licenseMIT
authorJeremy Longshore <jeremy@intentsolutions.io>
compatible-withclaude-code, codex, openclaw
tags["saas","vercel","deployment","production","rollback"]

Vercel Deploy Integration

Overview

Deploy Vercel applications to production using CLI, API, and Git-triggered workflows. Covers deployment promotion, instant rollback, rolling releases, multi-region function configuration, and deploy hooks for headless CMS integration.

Prerequisites

  • Vercel project linked and configured
  • Production environment variables set
  • Custom domain configured (optional)
  • VERCEL_TOKEN for API-based deployments

Instructions

Step 1: Production Deploy Methods

# Method 1: CLI direct production deploy
vercel --prod

# Method 2: Promote a preview deployment to production
vercel promote https://my-app-preview-xxx.vercel.app

# Method 3: API-based deployment
curl -X POST "https://api.vercel.com/v13/deployments" \
  -H "Authorization: Bearer $VERCEL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "my-app",
    "target": "production",
    "gitSource": {
      "type": "github",
      "repoId": "123456789",
      "ref": "main",
      "sha": "'$(git rev-parse HEAD)'"
    }
  }'

# Method 4: Deploy Hook (for CMS-triggered rebuilds)
curl -X POST "https://api.vercel.com/v1/integrations/deploy/prj_xxx/hook_xxx"

Step 2: Instant Rollback

# Roll back to the previous production deployment (no rebuild)
vercel rollback

# Roll back to a specific deployment
vercel rollback dpl_xxxxxxxxxxxx

# Verify the rollback
vercel ls --prod
curl -s https://yourdomain.com/api/health | jq .

# Via API — promote a known-good deployment
curl -X POST "https://api.vercel.com/v9/projects/my-app/promote" \
  -H "Authorization: Bearer $VERCEL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"deploymentId": "dpl_known_good_id"}'

Key points:

  • Instant rollback swaps production traffic without rebuilding
  • The rolled-back deployment retains its original environment variables
  • All production domains immediately point to the rolled-back deployment

Step 3: Rolling Releases (Gradual Rollout)

Configure rolling releases in the dashboard under Settings > Rolling Releases:

// vercel.json — rolling release config
{
  "rollingRelease": {
    "enabled": true,
    "stages": [
      { "targetPercentage": 10, "duration": 300 },
      { "targetPercentage": 50, "duration": 600 },
      { "targetPercentage": 100 }
    ]
  }
}

This routes 10% of traffic to the new deployment for 5 minutes, then 50% for 10 minutes, then 100%. If errors spike during any stage, rollback instantly.

Step 4: Multi-Region Function Configuration

// vercel.json — deploy functions to specific regions
{
  "regions": ["iad1", "sfo1", "cdg1", "hnd1"],
  "functions": {
    "api/user.ts": {
      "memory": 1024,
      "maxDuration": 30
    },
    "api/heavy-compute.ts": {
      "memory": 3008,
      "maxDuration": 60,
      "regions": ["iad1"]
    }
  }
}

Available regions:

RegionLocationCode
Washington, D.C.US Eastiad1
San FranciscoUS Westsfo1
ParisEuropecdg1
TokyoAsiahnd1
SydneyAustraliasyd1
S. PauloSouth Americagru1
LondonEuropelhr1

Step 5: Deploy Hooks (CMS Triggers)

Create deploy hooks in Settings > Git > Deploy Hooks:

# Create via dashboard, then trigger with POST
curl -X POST "https://api.vercel.com/v1/integrations/deploy/prj_xxx/hook_xxx"

# Common CMS integrations:
# Contentful — webhook URL → Vercel deploy hook
# Sanity — GROQ listener → deploy hook
# Strapi — lifecycle hook → deploy hook

Step 6: Deployment Monitoring

# List recent production deployments
vercel ls --prod --limit=5

# Check deployment state
curl -s -H "Authorization: Bearer $VERCEL_TOKEN" \
  "https://api.vercel.com/v6/deployments?target=production&limit=5&projectId=prj_xxx" \
  | jq '.deployments[] | {uid, url, state, createdAt}'

# Monitor deployment logs in real-time
vercel logs https://yourdomain.com --follow

Deploy Lifecycle

git push main
  → Vercel builds (BUILDING)
    → Build succeeds (READY)
      → Traffic routes to new deployment
        → Old deployment kept for instant rollback

Output

  • Production deployment live via CLI, API, or Git push
  • Instant rollback configured to previous deployment
  • Rolling releases for gradual traffic shifting
  • Function regions optimized for user geography
  • Deploy hooks for CMS-triggered rebuilds

Error Handling

ErrorCauseSolution
DEPLOYMENT_BLOCKEDDeployment freeze or branch protectionDisable freeze in Settings or use --force
Promotion failsPreview deployment has different env varsVerify env vars match between preview and production
Rolling release stuckError threshold exceededFix the code, then restart the rollout
Deploy hook returns 404Hook deleted or project ID wrongRecreate the hook in Settings > Git
Region not availablePlan doesn't support multi-regionUpgrade to Pro or Enterprise

Resources

Next Steps

For webhook integration, see vercel-webhooks-events.

Similar Claude Skills & Agent Workflows