DEV Community

Noble Okechi
Noble Okechi

Posted on

๐Ÿš€ Setting Up CI/CD on Vercel with GitHub Actions (Without a Vercel Pro Plan)

Introduction

Setting up Continuous Integration and Continuous Deployment (CI/CD) is a must-have for modern development teams. While Vercel offers built-in GitHub integration, its team collaboration features are gated behind a paid Pro plan. This becomes a blocker when multiple developers need to deploy but arenโ€™t part of the paid team.

In this guide, Iโ€™ll show you how to bypass that limitation and set up a working CI/CD pipeline using GitHub Actions and the Vercel CLI โ€” all without needing to pay for Vercel Pro or add developers to your Vercel team.

Why Not Just Use Vercel Teams?

If a non-member tries to deploy to a Vercel team project, they'll see this:

@yourgitusername is attempting to deploy a commit to the Team Name' projects team on Vercel, but is not a member of this team.
Enter fullscreen mode Exit fullscreen mode

This error means:

  • The developer is not part of the Vercel team
  • The team requires a Pro plan ($20/user/month) to add members

The Solution: Use GitHub Actions + Vercel CLI

Instead of relying on Vercelโ€™s GitHub integration, we use GitHub Actions to automate deployments via the Vercel CLI, authenticated with a token.

What Youโ€™ll Need:

  • A GitHub repo connected to your project
  • A Vercel account (personal or team)
  • A Vercel token
  • Your Vercel Org ID and Project ID
  • Environment variables passed from GitHub Secrets

Step-by-Step Guide

  1. Generate a Vercel Token
    Go to: https://vercel.com/account/tokens
    Click "Create Token" and copy it.

  2. Get Your Org & Project IDs
    Run this in your local terminal:

npm install -g vercel
vercel link
Enter fullscreen mode Exit fullscreen mode

Check the .vercel/project.json file:

{
  "orgId": "your-vercel-org-id",
  "projectId": "your-vercel-project-id"
}
Enter fullscreen mode Exit fullscreen mode

Alternative: Use Vercel Dashboard โ†’ Network Tab โ†’ Inspect project requests.

  1. Add Secrets to GitHub Go to your GitHub repo โ†’ Settings โ†’ Secrets โ†’ Actions โ†’ New Repository Secret.

Add:

  • VERCEL_TOKEN
  • VERCEL_ORG_ID
  • VERCEL_PROJECT_ID
  • And your required environment variables
  1. Create the GitHub Actions Workflow Create .github/workflows/deploy.yml in your repo:
name: Deploy to Vercel

on:
  push:
    branches:
      - main // your deployment branch

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v3

      - name: Install Bun (if using bun.lock)
        run: |
          curl -fsSL https://bun.sh/install | bash
          echo "$HOME/.bun/bin" >> $GITHUB_PATH

      - name: Install Vercel CLI
        run: npm install -g vercel

      - name: Deploy to Vercel
        env:
          VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
          VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
          VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
        run: |
          vercel pull --yes --environment=production --token=$VERCEL_TOKEN
          vercel build --token=$VERCEL_TOKEN
          vercel deploy --prod --token=$VERCEL_TOKEN

Enter fullscreen mode Exit fullscreen mode

Common Errors & Fixes

โŒ spawn bun ENOENT
You're using bun.lock but bun isn't installed.
Fix: Add a step to install Bun in the workflow, or delete the lock file and switch to npm or yarn. A command to install bun is added to the yml file above.

โŒ Invalid environment variables
Your app expects env vars at build time, but theyโ€™re missing.
Fix: Add them as GitHub secrets and pass them explicitly in env: section.

โœ… Result

  • GitHub Actions handling CI/CD
  • Vercel builds and deploys on push
  • No team member restrictions
  • No need to upgrade to Vercel Pro

Conclusion

With this setup, you're no longer limited by Vercel's team billing system. You get full control over deployment, secure CI, and cost-effective collaboration, all powered by GitHub Actions + Vercel CLI.

Top comments (1)

Collapse
 
coolpythoncodes profile image
Godson Rapture Chijioke

this article helped me so much. thanks for this