Deploying applications on Unkey is in public beta. To try it, select
Projects in the dashboard sidebar and create a project. Deployed
resources are free until August 1, 2026. We’re eager for feedback, so let us
know what you think on Discord,
X, or email
support@unkey.com.
unkey deploy. Both produce the same deployment artifact, an immutable version running in an environment with a commit-scoped domain. The difference is who owns the build.
This page helps you pick the right path.
TL;DR
Use GitHub integration
You want zero-config, push-to-deploy. You’re happy letting Unkey handle image builds on every commit. This is the right default for 95% of apps.
Use the CLI
You already have a CI/CD pipeline, you need control over the build (monorepo, custom build matrix, pre-release artifacts), or you don’t want to connect a GitHub repository.
Side-by-side
When to pick the GitHub integration
Connect a repository when you want push-to-deploy with no additional infrastructure:- Product-style apps where every PR should get its own preview URL automatically.
- Small teams that don’t want to run or maintain a separate CI pipeline for builds.
- Fast iteration during early development, you push, Unkey deploys, done.
- You need fork protection for open-source repositories.
- You want watch paths to skip builds for doc-only changes.
When to pick the CLI
Reach forunkey deploy when you need control over the build step, or when connecting a repository isn’t an option:
You already have a CI/CD pipeline
If you’re building images in GitHub Actions, GitLab CI, CircleCI, Buildkite, or anything else, you’ve likely invested in:- Custom build steps: code generation, compilation, asset bundling, SBOM generation, vulnerability scans.
- Build caching: layer caches, dependency caches, test fixtures.
- Test gates: unit, integration, and end-to-end tests that must pass before shipping.
- Artifact signing: Cosign, Sigstore, or organization-internal signing.
You want deploys decoupled from Git pushes
Some teams don’t want everymain push to ship to production:
- Release trains where pushes go to a staging environment and a separate job promotes to production.
- Manual release gates that require approval outside GitHub.
- Scheduled deploys triggered by cron, not by commits.
main don’t automatically deploy. Deploys happen when something (a workflow, a human, a scheduler) explicitly runs unkey deploy.
You don’t use GitHub
The CLI only needs a Docker image in a registry. That works with GitLab, Bitbucket, self-hosted Git, or no Git at all.You want reproducible local deploys
Runningunkey deploy from your laptop ships the exact same artifact you’d ship in CI. Useful for debugging a deployment issue end-to-end without burning CI minutes.
Next steps
Deploy with the CLI
Step-by-step guide for
unkey deploy, including a GitHub Actions exampleGitHub integration
Set up push-to-deploy from a connected repository