Deploy a project — NuPaaS Docs
Deploy & projects

Deploy a project

Build configuration

NuPaaS automatically detects your application framework and selects an appropriate buildpack. Supported runtimes include Node.js, Python, Go, Rust, Ruby, and static sites.

If you prefer full control, add a Dockerfile to your repository root. When a Dockerfile is present, NuPaaS uses it instead of buildpacks. You can also specify the build context and Dockerfile path in your project settings.

Triggering a deploy

There are three ways to trigger a deploy:

  • Git push — push to your linked branch and NuPaaS builds automatically.
  • CLI — run nupaas deploy from your project directory to trigger a build from the current commit.
  • Dashboard — click "Deploy" in the project detail view to redeploy the latest commit or select a specific commit.
Deploy via Git push
git push origin main

Deploy lifecycle

Every deploy moves through four stages:

  1. Queued — the deploy is accepted and waiting for a build slot.
  2. Building — the source code is cloned, dependencies are installed, and the container image is built.
  3. Deploying — the new image is rolled out to the target environment with zero-downtime switching.
  4. Live — the deploy is serving traffic. Health checks confirm the new version is healthy before the old version is terminated.

Environment variables

Environment variables are set per environment (production, staging, preview). They are injected at runtime and are never baked into the container image.

Set environment variables
nupaas env set DATABASE_URL="postgres://..." --env production
nupaas env set API_KEY="sk-..." --env production

You can also manage environment variables from the dashboard under your project's settings. Changes take effect on the next deploy.

Rollbacks

Every successful deploy is stored in your project's deploy history. To roll back, select a previous deploy and promote it to the target environment. Rollbacks reuse the existing container image, so they are fast — no rebuild is needed.

Roll back to a previous deploy
nupaas deploy rollback --to <deploy-id>

You can also roll back from the dashboard by clicking "Rollback" on any previous deploy in the history view.