Back to Blog
Tutorial5 min read2024-12-01

Setting Up a CI/CD Pipeline in Under 10 Minutes with PandaStack

Connect your GitHub repo, configure your build, and have automatic deployments on every push — with rollbacks — in under 10 minutes. No YAML required.

CI/CD Shouldn't Take a Day to Set Up

GitHub Actions, CircleCI, Jenkins, Buildkite — there's no shortage of CI/CD tools. But configuring them requires YAML expertise, managing secrets, writing deployment scripts, and integrating with your hosting platform. It's not uncommon to spend an entire day setting up a CI/CD pipeline from scratch.

PandaStack includes CI/CD as a first-class feature. Here's how to get from zero to automated deployments in under 10 minutes.

What You'll Build

By the end of this guide, you'll have:

  • ✅ Automatic deployments on every push to main
  • ✅ Pull request preview deployments
  • ✅ Automated build with tests
  • ✅ Slack notifications on deploy
  • ✅ One-click rollbacks to any previous deployment

Step 1: Connect Your Repository (2 minutes)

  1. 1Go to [dashboard.pandastack.io](https://dashboard.pandastack.io)
  2. 2Click New ProjectImport Git Repository
  3. 3Click Connect GitHub (or GitLab, Bitbucket)
  4. 4Authorize PandaStack — it requests read access to your repos and write access to commit statuses
  5. 5Select your repository from the list

PandaStack will scan your repo and auto-detect the framework and language.

Step 2: Configure Your Build (3 minutes)

PandaStack shows you a build configuration screen with sensible defaults:

For a Node.js API:

Build Command:  npm ci && npm run build
Start Command:  npm start
Install Command: npm ci
Node Version:   20

For a React/Vite frontend:

Build Command:  npm run build
Output Directory: dist
Node Version:   20

For a Docker container:

Dockerfile: ./Dockerfile
Build Context: .
Port: 3000

You can override any of these in the Build Settings panel.

Step 3: Set Environment Variables (1 minute)

Under Environment Variables, add your secrets:

DATABASE_URL=postgresql://...
REDIS_URL=redis://...
JWT_SECRET=your-secret-key
NODE_ENV=production

Secrets are encrypted at rest and injected at build time. You can set different values for different branches (e.g., staging database for non-main branches).

Step 4: Configure Branch Rules (2 minutes)

Under CI/CD Settings:

SettingValue
Production branchmain
Preview branchesAll branches
Auto-deploy on push✅ Enabled
Run tests before deploy✅ Enabled
Test commandnpm test
Cancel in-progress deploys✅ Enabled

Preview deployments mean every pull request gets a unique URL like pr-42.your-project.pandastack.app. Share these with QA or design for review before merging.

Step 5: Deploy (30 seconds)

Click Deploy and watch the build pipeline:

✓ Cloning repository
✓ Installing dependencies (npm ci)
✓ Running tests (12 passed, 0 failed)
✓ Building application
✓ Building Docker image
✓ Pushing to registry
✓ Deploying to production
✓ Running health checks
✓ Deployment successful — deployed to api.yourapp.com
  Build time: 1m 47s

Your app is live. Every future push to main will trigger this pipeline automatically.

Rollbacks: The Safety Net

If a deployment breaks something, rollbacks take one click:

  1. 1Go to your project → Deployments
  2. 2Find the last known-good deployment
  3. 3Click Rollback to this deployment
  4. 4Confirm — your app reverts in about 15 seconds

PandaStack keeps the last 50 deployments available for rollback, including the exact environment variables and Docker image used for each.

Notifications

Connect Slack under SettingsNotifications:

  • ✅ Deployment started
  • ✅ Deployment succeeded
  • ✅ Deployment failed (with link to logs)
  • ✅ Rollback performed

You can also configure webhook notifications for other tools (Discord, Teams, PagerDuty).

Comparing Setup Time

PlatformTime to First Auto-Deploy
GitHub Actions + Fly.io45-90 minutes
GitHub Actions + AWS ECS2-4 hours
Jenkins1-2 days
CircleCI + Heroku30-60 minutes
PandaStackUnder 10 minutes

Advanced: Monorepo Support

For monorepos, PandaStack can detect which service to redeploy based on which files changed:

Under Build SettingsWatch Paths:

apps/api/**
packages/shared/**

Only changes in these paths trigger a deploy for the API service. Your frontend service won't redeploy unnecessarily.

Conclusion

CI/CD is table stakes for production applications. With PandaStack, you get automated testing, preview deployments, production deploys, and rollbacks without writing a single line of YAML.

[Set up your CI/CD pipeline on PandaStack →](https://dashboard.pandastack.io)

Ready to deploy?

Start free on PandaStack — no credit card required.

Start free on PandaStack

More in Tutorial

Browse all Tutorial articles →

See also