deployship
Docs
Deployments

Deployments

Triggering a Deployment

Automatic: Pushing to the configured branch on GitHub triggers a deployment automatically via webhook.

Manual: Click Deploy Now on the Project page at any time.

API: Use the DeployShip API with an API key to trigger deploys from your own scripts or CI pipelines:

curl -X POST https://api.deployship.io/projects/:id/deployments/trigger \
  -H "Authorization: Bearer ds_live_your_api_key"

What Happens During a Deployment

  1. A deploy job is queued
  2. DeployShip connects to your server via SSH
  3. If the project directory doesn't exist, the repository is cloned
  4. Latest code is pulled (or the specific commit is checked out for rollbacks)
  5. Pre-deploy command runs (if configured — e.g. database migrations)
  6. Build command runs
  7. PM2 ecosystem file is written and the process is started or restarted
  8. Post-deploy command runs (if configured — e.g. cache clearing)
  9. DeployShip verifies the application is listening on its assigned port
  10. SSH connection closes
  11. Deploy status is updated to SUCCESS or FAILED

Deploy Logs

Every command's output is streamed in real time to the Logs tab on the project page. You do not need to refresh — logs appear as they happen.

Full log output is stored and accessible from the deployment history for the duration of your plan's log retention period.

Deployment Statuses

StatusMeaning
QUEUEDJob is waiting to be picked up by the deploy worker
RUNNINGActively deploying — SSH connected, commands executing
SUCCESSAll commands completed with exit code 0. Port binding verified.
FAILEDA command returned a non-zero exit code. See logs for details.
CANCELLEDDeployment was cancelled before completion
ROLLED_BACKThis deployment was superseded by a rollback

Was this page helpful?