CLI

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 --watch

Use --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 --watch

For 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 --watch

The 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

OptionBehavior
--force-allRebuild all enabled services.
--service-ids svc_a,svc_bSelect services to deploy.
--smart-routeUse source changes to select affected services.
--refreshReapply 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 600000

Without --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_previous

Rollback 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.

On this page