Skip to content

shipnode deploy

The main command. Builds the app, rsyncs it to a new timestamped release directory, installs deps on the server, flips the current symlink atomically, reloads PM2 with --update-env, and health-checks the new release.

Terminal window
npx shipnode deploy

If the health check fails, the symlink stays on the previous release and the failed release is discarded.

FlagPurpose
--dry-runPrint what would happen without changing anything on the server.
--skip-buildSkip the local build step (use existing build output).
--config <path>Deploy a non-default environment, e.g. --config shipnode.staging.config.ts.
/var/www/api/
current -> releases/20260524160000
releases/
20260524150000/
20260524160000/
shared/
.env
ecosystem.config.cjs
.shipnode/
releases.json
deploy.lock