gh release create <tag> --repo <owner/repo> or the GitHub UI. floo deploys that release’s commit to prod once it is LIVE in dev. The floo GitHub App only reads customer repos; floo never writes to them. For a floo-hosted project or an app with no repo, use floo releases promote.
list
List releases for an app.Flags
JSON output
show
Show one release: tag, commit, promoted by, deploy ID, image digest.RELEASE_ID is the release’s UUID.
Flags
JSON output
promote
Promote the latest LIVE dev deploy to production for a floo-hosted project created withfloo projects, whose repo floo hosts without requiring a GitHub account, or for an app with no repo. floo deploys to prod; for a floo-hosted project it then publishes a release on the repo floo hosts. An app connected to your own GitHub repo is refused with PROMOTE_USE_GITHUB_RELEASE. The command returns the tag and release URL; floo deploys list --app my-app tracks the background deploy.
What happens during promote
- Image selection. Promote deploys the images from the latest live dev deploy. It rebuilds only when the prod environment has a build-time env var (
VITE_*,NEXT_PUBLIC_*, orREACT_APP_*); then each service is built again from the source deploy’s archived source with the prod values as build arguments. - Migrations. Each declared
migrate_commandruns as a one-off job with prod env vars before traffic shifts. A failure stops promotion and leaves the previous live revision serving. Keep the old code compatible with schema changes through expand-then-contract migrations.floo redeploy --skip-migrationshas no effect on promote. - Routes. The shared app host (
{app}.getfloo.app) and per-service hosts ({app}-{svc}.getfloo.app) are upserted, so stale routes from before a service rename are corrected. - Access grants. The gateway is granted invoke access on public services, and the app identity on internal services.
Flags
Examples
JSON output
release_url is set for floo-hosted projects and null for an app with no repo.
rollback
Usefloo deploys rollback to restore a previous live deploy’s image without rebuilding:
--preflight previews the operation; --yes is required in non-interactive runs. Rollback keeps current environment configuration and does not undo database migrations.