skytells deploy · deployments ls
Deploy an app from source and list deployment history with the Skytells CLI.
Overview
skytells deploy triggers a new deployment of a Skytells app — building from source, pushing the image, and releasing to the platform. skytells deployments ls retrieves the deployment history for an app.
skytells deploy
Deploys an app by its app ID. Skytells builds your source code, produces a container image, and rolls out the new version. The CLI streams progress until the deployment completes.
Syntax
skytells deploy <app> [--json]Arguments
| Argument | Description |
|---|---|
app | The app ID to deploy (begins with app_). |
Flags
| Flag | Description |
|---|---|
--json | Output deployment result as JSON. |
Examples
# Deploy by app ID
skytells deploy app_abc123
# Deploy and capture deployment ID
DEPLOY_ID=$(skytells deploy app_abc123 --json | jq -r '.id')
echo "Deployment: $DEPLOY_ID"Example terminal output:
⠋ Queuing deployment...
⠙ Building image...
✓ Compiling dependencies
✓ Running build steps
✓ Image pushed
⠸ Releasing...
✓ Health checks passed
✔ Deployment successful!
Deployment ID: dep_xyz789
Duration: 48sDeployment lifecycle
When skytells deploy is called:
- A deployment record is created with status
queued - Skytells builds a container image from your app's source
- The image is tested with health checks
- The new version is released with a rolling update (no downtime)
- If health checks fail, the platform automatically rolls back to the previous version
The deploy command returns once the deployment is queued. Monitor progress with skytells status or skytells logs <app> --follow.
skytells deployments ls
Lists the deployment history for an app. Use this to audit recent releases, check deployment timestamps, or retrieve a deployment ID for troubleshooting.
Syntax
skytells deployments ls [--app <id>] [--limit <n>] [--offset <n>] [--json]Flags
| Flag | Description |
|---|---|
--app <id> | The app ID to list deployments for. Defaults to the linked project's first app if omitted. |
--limit <n> | Number of deployments to return. Default: 10. |
--offset <n> | Pagination offset. |
--json | Output as JSON. |
Examples
# List last 10 deployments for an app
skytells deployments ls --app app_abc123
# Last 25 deployments
skytells deployments ls --app app_abc123 --limit 25
# Find the last failed deployment
skytells deployments ls --app app_abc123 --json | \
jq -r '.[] | select(.status == "failed") | "\(.id) \(.created_at)"' | head -1Example output:
┌─────────────┬─────────────────────┬──────────┬──────────────────────┐
│ ID │ Created │ Status │ Duration │
├─────────────┼─────────────────────┼──────────┼──────────────────────┤
│ dep_abc001 │ 2026-03-18 14:23 │ success │ 48s │
│ dep_abc002 │ 2026-03-17 09:41 │ success │ 52s │
│ dep_abc003 │ 2026-03-16 18:05 │ failed │ 23s │
└─────────────┴─────────────────────┴──────────┴──────────────────────┘CI/CD integration
In automated pipelines, suppress interactive output with --json and check the exit code:
# GitHub Actions deploy step
- name: Deploy
run: |
RESULT=$(skytells deploy ${{ env.APP_ID }} --json)
echo "deploy_id=$(echo $RESULT | jq -r '.id')" >> $GITHUB_OUTPUT
env:
SKYTELLS_TOKEN: ${{ secrets.SKYTELLS_TOKEN }}
SKYTELLS_ACCESS_KEY: ${{ secrets.SKYTELLS_ACCESS_KEY }}See Advanced Usage: CI/CD Integration for full GitHub Actions and GitLab CI examples.
How is this guide?