Explita InfraExplita Infra
DeployCLI Reference

Releases, Promotion & Rollbacks (eda promote, rollback, cancel)

Promote preview containers, revert production traffic, cancel in-flight builds, and inspect release history

Releases & Rollbacks (eda promote, rollback, cancel, history)

Explita Deploy treats every deployment as an immutable release tag. You can promote branch preview builds to live production, revert production traffic to any prior healthy release with zero downtime, cancel builds in-flight, or permanently discard experimental previews.


1. Promote Preview to Production (eda promote)

Promote an isolated branch preview deployment to live production:

Important: The exact syntax is eda promote <deploymentId> (not eda preview promote).

eda promote <deploymentId> [options]

Options

FlagTypeDescription
--pass <pin>StringSession-only passcode for secondary host authentication (never saved to config files).

Examples

# Promote deployment d79
eda promote d79

# Promote with inline session passcode if host enforces DEPLOY_PASSCODE:
eda promote d79 --pass secret-pin-9876

Execution Details:

  1. Re-binds the preview container to production network pools.
  2. Updates Caddy reverse-proxy upstream targets to route live production domains (e.g. myapp.com) to this container.
  3. Gracefully drains connections from the previous production container.
  4. Marks deployment status as LIVE.

[!NOTE] Zero-Disk Passcode Protection: If your host server enforces DEPLOY_PASSCODE, passcodes are strictly kept in your mind and never written to configuration files. If --pass is omitted, the CLI interactively prompts:

🔑 Enter deploy passcode / PIN:

2. Rollback or Discard (eda rollback)

Revert production traffic to an earlier deployment tag, or discard an unwanted preview build:

eda rollback <deploymentId> [options]

Options

FlagTypeDescription
--purgeBooleanPermanently drop temporary cloned databases, remove containers, and purge deployment records from history.

Examples

# Roll back production traffic to deployment d72
eda rollback d72

# Discard an unwanted preview deployment and purge its temporary database
eda rollback d79 --purge

3. Cancel In-Flight Build (eda cancel)

Abort an active or queued deployment immediately:

eda cancel [deploymentId]

Execution Details:

  • Sends an AbortSignal to the host build worker.
  • Aborts active Docker build and prune temporary files.
  • Resets deployment state to CANCELLED.
  • Existing live production containers remain completely untouched.

4. Deployment History (eda history)

Inspect previous deployments, release tags, container images, and lifecycle states:

eda history [-a <appId>] [-l <limit>]
OptionShorthandTypeDescription
--app <appId>-aStringTarget application ID (defaults to appId in explita.json).
--limit <n>-l, -nNumberMaximum number of deployments to return (default: 25).

Sample Output:

┌─────────┬──────────────┬──────────┬─────────────┬────────────────────────────────────────┬────────────────────────────┬────────────────────────────┐
│ (index) │ id           │ tag      │ status      │ image                                  │ startedAt                  │ finishedAt                 │
├─────────┼──────────────┼──────────┼─────────────┼────────────────────────────────────────┼────────────────────────────┼────────────────────────────┤
│ 0       │ 'a41f92e810' │ 'v1.2.0' │ 'LIVE'      │ 'explita/app-payment-api:d-a41f92e810' │ '2026-10-16T11:20:12.000Z' │ '2026-10-16T11:20:54.000Z' │
│ 1       │ 'c93e110451' │ '-'      │ 'CANCELLED' │ '-'                                    │ '2026-10-16T10:45:01.000Z' │ '2026-10-16T10:45:19.000Z' │
│ 2       │ 'f182c04789' │ 'pr-42'  │ 'PREVIEW'   │ 'explita/app-payment-api:d-f182c04789' │ '2026-10-16T09:12:44.000Z' │ '2026-10-16T09:13:35.000Z' │
│ 3       │ '77e108a324' │ 'v1.1.0' │ 'LIVE'      │ 'explita/app-payment-api:d-77e108a324' │ '2026-10-15T17:30:19.000Z' │ '2026-10-15T17:30:58.000Z' │
└─────────┴──────────────┴──────────┴─────────────┴────────────────────────────────────────┴────────────────────────────┴────────────────────────────┘

[!NOTE]

  • tag: Custom release tag assigned during deployment (eda deploy --tag <tag>). Defaults to - if omitted. Explita does not track git commit hashes or branches automatically; use --tag (e.g. --tag $(git rev-parse --short HEAD)) if you want commit-linked releases.
  • status: Current deployment state (LIVE, PREVIEW, CANCELLED, FAILED, ROLLED_BACK).
  • image: Local Docker image tag (explita/app-<appId>:d-<deploymentId>).
  • startedAt / finishedAt: ISO timestamps marking deployment initiation and completion.

On this page