How to Set Up a CI/CD Pipeline for Static Sites with GitHub Actions

By CodeWritely Team·
ci/cdgithub actionsstatic sitesastrovercel

GitHub Actions for Vercel

name: Deploy
on:
  push:
    branches: [main]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
      - run: npm ci && npm run build
      - uses: amondnet/vercel-action@v25
        with:
          vercel-token: ${{ secrets.VERCEL_TOKEN }}
          vercel-org-id: ${{ secrets.ORG_ID }}
          vercel-project-id: ${{ secrets.PROJECT_ID }}

Push to main → auto deploy. Add workflow_dispatch for manual triggers. Add lint and test jobs before deploy for quality gates.

Disclosure: Some links are affiliate links.