Deploy a project — NuPaaS Docs
Deploy & projects

Deploy a project

Build configuration

NuPaaS builds your application from a Dockerfile. The build runs on the platform with Kaniko, and the resulting image is deployed to your project. You can pin a different Dockerfile path in your project settings.

A Dockerfile is recommended rather than required. If your repository has a shape the platform can containerise — a Deno start task, a Node.js start or build script, or a plain static site — the platform generates one for that build only, and never commits it to your repository. Add your own Dockerfile to take full control, for example when you need custom system dependencies or a multi-stage build.

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.