Preview Deployments automatically builds every Pull Request opened on your GitHub repository and publishes it to its own ephemeral address: pr-123-yourproject.skyversal.site. Test changes in a real environment before merging, or share the link with your team or client.
Setup
- Enable the feature under your project's Settings → Preview Deployments.
- On first enable, the
pull_requestevent is added to your GitHub webhook automatically — nothing to configure by hand. - Open a PR: when the build finishes, the preview URL lands as a comment on the PR and appears in the deploy list with a Preview badge.
How it works
- PR opened / new commit: the PR's latest commit is built, passes the health gate, and the preview URL goes live. New pushes update the same environment — the PR comment is edited, not re-posted (no spam).
- PR closed / merged: the preview environment is torn down automatically.
- 72-hour TTL: previews with no recent pushes are cleaned up — resources are never held forever.
Limits & security
- Free plan: 1 concurrent preview. When the limit is full, no preview is created for a new PR and an informational comment is posted — paid plans are unlimited.
- Same-repo PRs only: fork PRs are not previewed (prevents arbitrary code from reaching your environment variables).
- Shared database: previews connect to your project's existing database.
release_command(migrations) never runs in previews — the production schema is protected. - Secret masking: payment/cloud/API keys are not written into preview environments (managed via platform configuration).
- Draft PRs: not built while marked draft; building starts at "ready for review".
Note: Previews never interfere with your production deploys — separate container, separate address, separate lifecycle. Your production pushes continue on their normal path.