6.7 KiB
6.7 KiB
name, description
| name | description |
|---|---|
| cf-deployment-status | Check Cloudflare deployment status across environments, view recent deployments, and monitor CI/CD pipeline health |
Check the status of Cloudflare Workers and Pages deployments. This command provides a comprehensive view of deployment health across all environments.
What This Command Does
-
List Recent Deployments
- Shows last 10 deployments
- Displays status (success/failure/in-progress)
- Shows deployment duration
- Includes commit SHA and message
-
GitHub Actions Status
- Lists recent workflow runs
- Shows current deployment pipeline status
- Identifies failed or stuck workflows
- Displays workflow execution time
-
Environment Health Check
- Checks production deployment status
- Verifies staging environment
- Tests preview deployments
- Shows environment-specific metrics
Usage
# Basic usage - check all environments
/cf-deployment-status
# Check specific environment
/cf-deployment-status production
# Show last N deployments
/cf-deployment-status --limit 20
# Show failed deployments only
/cf-deployment-status --failed
# Check specific worker
/cf-deployment-status --worker my-worker-name
Implementation
When you use this command, Claude will:
- Check Cloudflare Deployments
# List deployments via Wrangler
wrangler deployments list --name <worker-name>
# Get deployment details
wrangler deployments view <deployment-id>
- Check GitHub Actions
# List recent workflow runs
gh run list --workflow=deploy.yml --limit=10 --json status,conclusion,createdAt,updatedAt,headSha,headBranch
# Check for failures
gh run list --workflow=deploy.yml --status=failure --limit=5
- Environment Health
# Test production endpoint
curl -f https://production.example.com/health
# Test staging endpoint
curl -f https://staging.example.com/health
- Generate Report
## Deployment Status Report
**Generated**: 2025-01-15 10:30:00 UTC
### Summary
- Total deployments (24h): 15
- Success rate: 93% (14/15)
- Active failures: 1
- Average duration: 2m 45s
### Environments
#### Production
- Status: ✓ Healthy
- Last deployment: 2 hours ago (abc123)
- Version: v1.2.3
- Health check: ✓ Passing
#### Staging
- Status: ✓ Healthy
- Last deployment: 30 minutes ago (def456)
- Version: v1.2.4-rc.1
- Health check: ✓ Passing
### Recent Deployments
| Time | Environment | Status | Duration | Commit | Triggered By |
|------|-------------|--------|----------|--------|--------------|
| 10:15 | production | ✓ Success | 2m 30s | abc123 | GitHub Actions |
| 10:00 | staging | ✓ Success | 2m 15s | def456 | GitHub Actions |
| 09:45 | staging | ✗ Failed | 1m 05s | ghi789 | Manual |
### Active Issues
1. Staging deployment failed (ghi789)
- Error: Build failed - missing environment variable
- Time: 09:45 UTC
- Duration: 1m 05s
- Recommendation: Check GitHub secrets configuration
### GitHub Actions Status
- Workflow: Deploy to Cloudflare
- Last run: ✓ Success (2 hours ago)
- Average duration: 2m 45s
- Success rate (7 days): 95%
### Recommendations
✓ All systems operational
- No action required
Output Format
The command provides structured output with:
- Executive summary - Quick overview of deployment health
- Environment status - Status of each environment (production, staging, preview)
- Recent deployments - Table of recent deployments with status
- Active issues - Any current deployment problems
- CI/CD health - GitHub Actions workflow status
- Recommendations - Suggested actions
Error Handling
If the command encounters issues:
- No Cloudflare credentials
⚠ Warning: Cloudflare API token not found
Set CLOUDFLARE_API_TOKEN environment variable or configure wrangler.toml
- GitHub CLI not authenticated
⚠ Warning: GitHub CLI not authenticated
Run: gh auth login
- Worker not found
✗ Error: Worker 'my-worker' not found
Available workers:
- production-worker
- staging-worker
- API rate limit
⚠ Warning: Cloudflare API rate limit reached
Retry in 60 seconds or use cached data
Best Practices
-
Regular Monitoring
- Run daily to track deployment health
- Set up automated checks in CI/CD
- Monitor success rate trends
-
Quick Debugging
- Use
--failedflag to focus on issues - Check specific environments during incidents
- Compare deployment durations
- Use
-
Integration
- Add to deployment pipeline for validation
- Include in monitoring dashboards
- Use in incident response runbooks
Related Commands
/cf-logs-analyze- Analyze deployment logs/cf-metrics-dashboard- View detailed metrics- Use
cloudflare-deployment-monitoragent for active monitoring
Examples
Example 1: Check Production Status
/cf-deployment-status production
Output:
## Production Deployment Status
**Status**: ✓ Healthy
**Last Deployment**: 2 hours ago
**Version**: v1.2.3 (abc123)
**Health Check**: ✓ Passing
**Response Time**: 45ms (p95)
**Error Rate**: 0.01%
**Recent Deployments**:
1. ✓ abc123 - 2 hours ago - "Fix authentication bug" (2m 30s)
2. ✓ xyz789 - 1 day ago - "Add new feature" (2m 45s)
3. ✓ def456 - 2 days ago - "Update dependencies" (3m 10s)
Example 2: Check Failed Deployments
/cf-deployment-status --failed
Output:
## Failed Deployments
**Last 24 Hours**: 2 failures
### Failure 1: ghi789
- **Time**: 2 hours ago
- **Environment**: staging
- **Duration**: 1m 05s
- **Error**: Build failed - Type error in src/api/handler.ts
- **Triggered By**: GitHub Actions (PR #123)
- **Logs**: Available via `gh run view 12345678`
### Failure 2: jkl012
- **Time**: 5 hours ago
- **Environment**: preview
- **Duration**: 45s
- **Error**: Missing CLOUDFLARE_ACCOUNT_ID secret
- **Triggered By**: GitHub Actions (PR #122)
- **Fixed**: Yes (redeployed successfully)
Example 3: Check All Workers
/cf-deployment-status
Output shows status for all workers and environments with summary metrics.
Configuration
The command uses these configuration sources:
- wrangler.toml - Worker configuration
- GitHub Actions workflows - CI/CD configuration
- Environment variables:
CLOUDFLARE_API_TOKENCLOUDFLARE_ACCOUNT_IDGITHUB_TOKEN(for gh CLI)
Troubleshooting
Command returns no deployments:
- Check wrangler.toml configuration
- Verify worker name
- Ensure API token has correct permissions
GitHub Actions status unavailable:
- Authenticate with
gh auth login - Check repository permissions
- Verify workflow file exists
Health checks fail:
- Verify endpoint URLs
- Check network connectivity
- Ensure health endpoint is implemented