> For the complete documentation index, see [llms.txt](https://docs.yaeris.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.yaeris.com/software/yaeris-launchpad/deploying-your-project.md).

# Deploying Your Project

How push-to-deploy, manual deploys, zero-downtime releases, instant rollback, and build/runtime logs work on Launchpad.

## Push-to-deploy

Once a project is imported, every push to its tracked branch (usually main) triggers a build automatically. You'll see build status posted directly to your commit/PR on GitHub as a check, so you know immediately whether a push built successfully.

## Manual deploys

You can also trigger a deploy manually from the project's dashboard, or via the launchpad-cli deploy command (see The Launchpad CLI).

## Zero-downtime deploys

When a new deploy starts, Launchpad builds the new version and health-checks it before switching any traffic over. Your previous version keeps serving live requests the entire time. Only once the new version responds successfully is traffic moved to it -- if the new build fails its health check, your site keeps running on the last working version and the deploy is marked failed. This means a bad deploy never takes your site offline.

## Rollback

Every deployment records the exact image it built. If a deploy causes a problem, you can instantly roll back to any previous deployment from the Deployments tab -- this reuses the already-built image rather than rebuilding from source, so it's fast, and it goes through the same zero-downtime swap as a normal deploy.

## Build logs

Each deployment's full build output is available from the Deployments tab, so you can see exactly what happened if a build fails.

## Runtime logs

Once a project is running, its live stdout/stderr output (the last 300 lines) is available under the Logs tab -- useful for debugging application errors without needing server access.
