Skip to content

Auto Deploy on Push

A Git-connected service auto-deploys on every push to its branch unless you skip the commit. Typical path from git push to live traffic is 60–180 seconds, depending on build time.

Deploy lifecycle GitHub Build Kubernetes Live URL git push | image | rolling deploy | https://*.stackblaze.app

You can skip a deploy by adding [skip ci] to your commit message. You can also restrict which file paths trigger a deploy, useful for monorepos where documentation changes shouldn’t rebuild your API server.

git push (commit) → Webhook (received) → Build (Docker image) → Registry (image pushed) → Rolling (deploy) → Live (healthy)

Build #47, my-api, commit a3f9c12
00:00 Cloning github.com/acmecorp/my-api (branch: main)
00:01 Checked out commit a3f9c12 — "feat: add rate limiting middleware"
00:02 Detected Node.js 22 (package.json engines field)
00:02 Installing dependencies with npm ci...
00:18 Dependencies installed (638 packages in 16.4s)
00:18 Building production image...
00:39 Layer cache hit: base image (saved 14s)
00:41 Image built: sha256:d4e8f1a2b3c9... (182 MB)
00:42 Pushing to internal registry...
00:48 Image pushed successfully
00:49 Rolling update starting (3 replicas)...
01:02 replica-1: updated, readiness probe passed
01:09 replica-2: updated, readiness probe passed
01:16 replica-3: updated, readiness probe passed
01:17 Health check passed — GET /health 200 (12ms)
01:17 Deploy complete. Live: https://my-api.stackblaze.app
  • Auto-deploy: Trigger a deploy on every push to the branch below (on by default).
  • Trigger branch: Deploy when commits are pushed to this branch (example: main).
  • Build filters (ignored paths): Pushes that only change these paths will not trigger a build. Example patterns: docs/**, README.md, *.test.ts, .github/**.
  1. Connect your GitHub repository

    Connecting a GitHub repo as a service installs the webhook. No extra setup. You will see a StackBlaze entry under GitHub → Settings → Webhooks.

  2. Configure the trigger branch

    Navigate to Service → Settings → Build & Deploy. The default trigger branch is “main” (falling back to “master”). You can change this to any branch name, or use a glob pattern like “release/*” to trigger on all release branches simultaneously.

  3. Set build filters (optional)

    Add ignored path patterns to prevent unnecessary builds. For example, add docs/** and README.md so that documentation-only changes don’t trigger a rebuild. Patterns follow gitignore glob syntax. Useful for monorepos where multiple services share a single repository.

  4. Push a commit

    Push any commit to the configured branch. To skip a deploy, include [skip ci] or [no deploy] anywhere in the commit message. StackBlaze checks the webhook payload commit message and skips the build if either marker is present, leaving the current deployment untouched.

  5. Watch the build logs

    Open Service → Deployments to see the in-progress build. Logs stream in real time, you’ll see clone, install, build, and push phases followed by the rolling update. Each phase is timestamped. Click any line to copy it to your clipboard.

  6. Service goes live

    Once the rolling update completes and all health checks pass, 100% of traffic is routed to the new version. The previous deployment image is retained for rollback. Rollbacks re-deploy the prior image without a rebuild, typically completing in under 30 seconds.