deployments¶
These three commands form the deployment workflow. Run them in order the first
time; after that, deploy and promote are the only ones you need regularly.
link¶
Link the current directory to a web app. This saves .bentocloud.json locally
so that deploy and promote know where to send your code.
If you omit --computer or --webapp, the CLI fetches the available options
from the API and prompts you to choose.
Options
| Option | Required | Description |
|---|---|---|
--computer |
No | Computer name. Prompted interactively if omitted |
--webapp |
No | Web app name. Prompted interactively if omitted |
Example output
Resolving uat space... done
Linked to:
Computer: my-server
WebApp: my-app
UAT space ID: 12345
Saved to .bentocloud.json
!!! tip Add .bentocloud.json to your .gitignore — it is local configuration
that should not be committed.
deploy¶
Package the current directory and upload it to the uat space.
Deploys from a different directory:
Options
| Option | Required | Description |
|---|---|---|
--path |
No | Directory to deploy. Defaults to . |
--name |
No | Human-readable label for this deployment |
--detach, -d |
No | Print deployment ID and exit without waiting |
Prerequisites
Your project root must contain:
bentocloud.toml— defines the processes your app runsDockerfile— used to build the container image
Packaging behaviour
- Git repository — the CLI runs
git archive HEADto package exactly what is committed. Your working tree must be clean (no uncommitted changes). - Non-git directory — the CLI walks the filesystem and excludes patterns
from
.bentocloudignore(or a built-in default list if that file is absent).
Default exclusions when not in a git repo:
Example output
Deploying from: ./
Computer: my-server
WebApp: my-app
Space: uat (id: 12345)
Packaging... (42 KB, git mode)
Uploading... done
Deployment queued (job: ghi-789)
Waiting for deployment...
Deployed successfully.
promote¶
Copy the live uat image to production. No re-upload or rebuild required.
Options
| Option | Required | Description |
|---|---|---|
--detach, -d |
No | Print job ID and exit without waiting |
Example output
Promoting "my-app" uat → production...
Promotion queued (job: jkl-012)
Waiting...
Production updated.
job status¶
Check the status of any async job by its ID. Useful when you used --detach on
a previous command.
Example output
Exits with code 1 if the job has failed, so it can be used in scripts: