Deploying
Deployments and rollbacks
See every deployment of an app, follow one, cancel it, or roll back to an earlier build.
Every deploy, push, preview and rollback creates a deployment record. Each one has an ID, a status, a source and the commit it was built from.
Statuses and sources
| Status | Meaning |
|---|---|
pending | Accepted, waiting to start |
building | Cloud Build is building the image |
deploying | The image is being rolled out to Cloud Run |
success | Live |
failed | The build or rollout failed. The error is saved with the deployment |
cancelled | Stopped before it finished |
| Source | Started by |
|---|---|
manual | elula deploy or the Deploy button |
push | A push to the app's branch (auto-deploy) |
pr | elula preview |
rollback | elula rollback or rollback to this build |
List and inspect deployments
elula deployments # the 10 most recent elula deployments --limit 30 elula deployments --json elula deployments show 7c41e0a2 # one deployment: status, source, commit, URL, error
You can use the short IDs that elula deployments prints. elula deployments show also prints the PR number and preview tag for previews.
In the dashboard, open the app's Deployments tab. The current live deployment is marked live.
Build logs
elula logs # build logs of the latest deployment elula logs --deployment 7c41e0a2 # a specific deployment
Rollbacks have no build logs, because they reuse an earlier image. If a build passed but the deployment still failed, the app most likely didn't start. Check elula runtime-logs. See Logs and metrics.
One deployment at a time
An app can have only one deployment in progress. If you start another, you get:
A deployment is already in progress. Follow it with: elula logs · or replace it with: elula deploy --force
elula deploy --force # cancel the deployment in progress, then start a new one elula cancel # just cancel the deployment in progress
In the dashboard, an in-progress deployment has a cancel build link.
Roll back
A rollback redeploys the image of an earlier successful deployment. Nothing is rebuilt, so it is fast.
elula rollback # back to the successful deployment before the current one elula rollback 7c41e0a2 # back to a specific successful deployment elula rollback 7c41e0a2 -y # skip the confirmation prompt
In the dashboard, open Deployments and click rollback to this build on any successful deployment that isn't live. The header's Rollback button takes you there. Traffic switches as soon as the rollback is live.
Things to know:
- You can only roll back to a deployment with status
success. With no ID,elula rollbackskips preview deployments. - A rollback can't start while another deployment is in progress. Wait, or run
elula cancel. - The old image runs with the app's current environment variables, secrets and scaling settings, not the ones it had at the time.
- Build-time variables (
NEXT_PUBLIC_*,VITE_*,REACT_APP_*,NUXT_PUBLIC_*) are part of the old image, so they keep their old values. - The next push or
elula deploybuilds the branch again and replaces the rollback. - Rollbacks are for services. To run an older version of a job, put the older code on the job's branch and run
elula deploy.
Subscription
Deploys and rollbacks need an active subscription. Without one, they are refused with: "Subscribe to deploy. Apps that are already running keep running." See Billing.