Deploy and manage releases
Deploy a linked project or local folder, follow logs, and control releases.
First connect to an installation or configure native mode.
Deploy a Git project
From your repository, link an existing Openship project whose source is configured:
openship init --project proj_123
openship deploy --watchUse --project to select a project without changing the local link. Select a branch, commit,
variable set, or registered server when needed:
openship deploy --project proj_123 --branch main --env production --watch
openship deploy --project proj_123 --server srv_123 --watchFor a preview, first create or select a non-production project environment with
openship project environment create <project-id> Preview --type preview,
then deploy its project ID. That row owns its own routes, runtime and active release:
openship deploy --project proj_preview --env preview --watch--env selects stored variables within that project. It does not create a preview runtime or switch
project IDs. Preview variables are refused on a production target before deployment starts.
The explicit --env option overrides the default saved by init --environment. When using a directory
link, its saved default is used next; otherwise the fallback is production. An explicit --project
does not inherit a different project's linked branch or variable set.
Deploy a folder
Upload the current directory explicitly, including from a Git checkout:
openship deploy --folder --name my-site --watchThe CLI stages the directory through the shared SDK source workflow. Outside Git, --name also
opts into a folder upload for existing scripts. A project ID alone never opts into uploading the
current directory. Use --project <id> to redeploy from outside the checkout; the stored branch is
used unless --branch is supplied.
--branch, --commit, --smart-route, and --refresh select the Git path and cannot be combined
with --folder. --service-ids works for both paths. Archive staging must remain outside the source
tree: the system temporary directory and its ancestors are refused. Select your project directory,
or set TMPDIR outside the source tree.
Native directory deployment requires the directory to be inside policy.sourceRoots. See
folder deployment for packaging behavior.
Select what changes
| Option | Behavior |
|---|---|
--force-all | Rebuild all enabled services. |
--service-ids svc_a,svc_b | Select services to deploy. |
--smart-route | Use source changes to select affected services. |
--refresh | Reapply environment configuration without pulling source or rebuilding. |
See the deploy reference for every option.
Inspect progress
openship deployment list --project proj_123
openship deployment get dep_123
openship logs dep_123 --follow
openship deployment wait dep_123 --timeout 600000Without --watch, deployment submission returns an ID that you can inspect later. A submitted build
is not yet a successful release. Follow the final status and any requested decisions.
Watching or waiting returns a failed exit status for failed releases and pending decisions. Inspect a
decision with deployment pending, then use deployment respond --action <offered-action> and wait
again. The CLI never chooses a decision for you. --watch, logs --follow and deployment wait have a
ten-minute default deadline, adjustable with --timeout in milliseconds. A timeout stops observation;
it does not cancel the deployment.
project server-logs <id> --follow follows request logs using the SDK's authorized self-hosted or
Cloud stream. Unavailable streaming exits nonzero; omit --follow to request a recent snapshot.
Control a release
openship deployment cancel dep_123
openship deployment redeploy dep_123 --use-existing-commit
openship deployment rollback dep_previousRollback availability depends on retained artifacts or rebuild support. pin retains a deployment's
rollback artifacts; keep and reject settle releases waiting for a decision.
Use the deployment command reference for controls and rollback guide for recovery behavior.