Monorepo

CI/CD

Monorepo Deployments

6 min readUpdated August 2026

One GitHub repo can seed several apps. Detection returns a card per app it finds. Each card has its own Build path, relative to the repo root — not a Root Directory field.

Connect the repo from the phase with + Service → Git repository. After you review Build path and Variables on each card, Commit the group on the canvas.

One repo seeds the api and worker cards, each app gets its own Build path, and the group is committed together.

Example monorepo structure

acmecorp/monorepo

# Repository root

acmecorp/

apps/

web/ # Next.js — Build path apps/web

api/ # Express — Build path apps/api

worker/ # Worker — Build path apps/worker

packages/

ui/ # Shared component library

utils/ # Shared utilities

package.json

pnpm-workspace.yaml

Build path per app

AppBuild pathBuild method
webapps/webNixpacks
apiapps/apiDocker
workerapps/workerNixpacks

Under the hood

  • One repo, several apps: + Service can add more than one app from the same GitHub repository. Each app keeps its own Settings, Variables, and Deployment tab.
  • Build path: the build context relative to the repo root. It is not a path-filter language. Autodeploy still runs when you push the connected branch.
  • Commit: staged cards are not live until you Commit on the canvas. That creates the apps and starts the first build when Autodeploy is on.

Step by step

01

Connect the repo once

On the phase canvas, + Service → Git repository. If the tree has multiple apps, detection returns a card per app and the form offers Add another app from this repo. Each card is its own StackBlaze app with its own Variables and Deployment history.

02

Set Build path per app

Open each app Settings tab and jump to Build. Set Build path relative to the repo root — for example apps/web, apps/api, or . . This is the build context, not a separate filter language.

03

Confirm Build method

Choose Nixpacks, Buildpacks, or Docker on the same Build section. A Dockerfile in that Build path uses Docker. You can change the method before you commit.

04

Commit the group

Stage every app, then Commit on the canvas. Sibling apps from the same repo stay grouped on the phase. Later Autodeploy pushes rebuild each app from its own Build path.