Deploy from git push or CLI, rollback instantly, manage deployment history.
Connect your GitHub, GitLab, or Bitbucket repository:
rf link --repo github.com/myorg/my-app
Now every push to main triggers a deployment automatically.
rf deploy
Detecting stack... Node.js (Next.js 16)
Building... ████████████████████ 100% (34s)
Deploying... Rolling update (2 instances)
Health check... ✓ Passing
✓ Live at https://my-app-abc123.raidframe.app (v43)
# Stream build and deploy logs
rf deploy --watch
# Deploy to staging
rf deploy --env staging
# Deploy a specific branch
rf deploy --branch feature-xyz
# Deploy a Docker image directly
rf deploy --image myregistry/myapp:v2.1
# Deploy without waiting
rf deploy --no-wait
# Dry run (build only, don't deploy)
rf deploy --dry-run
rf deployments list
ID VERSION STATUS CREATED DURATION COMMIT
dep_f8a3 v43 ✓ active 2026-03-16 14:23 38s abc1234 "Add user profiles"
dep_e7b2 v42 rolled back 2026-03-16 12:10 42s def5678 "Update pricing logic"
dep_d6c1 v41 replaced 2026-03-15 18:45 35s ghi9012 "Fix checkout bug"
dep_c5d0 v40 replaced 2026-03-15 16:30 29s jkl3456 "Add Redis caching"
# View deployment details
rf deployments info dep_f8a3
Deployment dep_f8a3 (v43)
Status: Active
Commit: abc1234 "Add user profiles"
Branch: main
Author: [email protected]
Built: 34s (cached: node_modules, .next)
Deployed: 4s (rolling update)
Instances: 2/2 healthy
Image: sha256:a8f3b2c1d4e5...
Roll back to the previous deployment:
rf deployments rollback
Rolling back v43 → v41
Restoring image: sha256:d6c1e5f4a3b2...
Health check: ✓ Passing
✓ Rolled back to v41 (dep_d6c1)
v42 was already rolled back, skipped to last known good.
RaidFrame automatically skips deployments that were previously rolled back.
rf deployments rollback dep_c5d0
If a deployment fails health checks, it's rolled back automatically:
Building... ████████████████████ 100% (31s)
Deploying... Rolling update
Health check... ✗ Failed (3/3 attempts, HTTP 500)
⚠ Auto-rollback triggered
Restored: v42 (dep_e7b2)
Failed deployment: dep_g9h4 (check rf logs --deployment dep_g9h4)
Builds are cached at multiple levels:
node_modules, pip, go mod, cargo are cached between builds.next, Go binaries, etc.First build: ~60s. Subsequent builds with no dependency changes: ~10s.
# Clear build cache
rf builds cache clear
# View cache stats
rf builds cache info
Build Cache
Size: 1.2 GB
Layers: 47 cached
Hit rate: 89% (last 30 days)
Saved: ~28 minutes across 42 builds
Trigger actions before or after deployment:
deploy:
hooks:
pre_build:
- npm run lint
- npm run test
post_deploy:
- curl -X POST https://api.myapp.com/cache/purge
- rf cdn purge --all
rf deploy hooks add --event deploy.success --url https://slack.com/webhook/xxx
rf deploy hooks add --event deploy.failure --url https://pagerduty.com/webhook/xxx
Require approval before deploying to production:
rf env protect production --require-approval --approvers [email protected],[email protected]
Restrict when deployments can happen:
deploy:
production:
windows:
- days: [MON, TUE, WED, THU]
hours: "09:00-17:00"
timezone: America/New_York
freeze:
- from: "2026-12-23"
to: "2026-12-27"
reason: "Holiday freeze"
Deploy at a specific time:
rf deploy --schedule "2026-03-17T02:00:00Z"
✓ Deployment scheduled for 2026-03-17T02:00:00Z (12 hours from now)
Cancel with: rf deployments cancel dep_h0i5