deploymentintermediate

CI/CD

Automated pipelines that test and deploy your code every time you push to GitHub.

💡 In plain English: A robot that checks your homework and hands it in for you every time you save it.

Quick answer

CI/CD automates testing and deployment. Continuous Integration (CI) runs automated checks on every code push. Continuous Deployment (CD) automatically deploys your app when checks pass. Vercel and Railway give vibe coders CD for free.

What is CI/CD?

Before CI/CD, deploying meant manually uploading files to a server, often breaking things. CI/CD automates this: push your code, and robots handle the rest.

CI (Continuous Integration) runs checks: does the TypeScript compile? Do tests pass? Any lint errors? If anything fails, the deploy stops and you get notified.

CD (Continuous Deployment) automatically deploys your app when checks pass. For vibe coders, the good news: Vercel and Railway give you CD for free. Connect GitHub, and every push to main deploys automatically.

In Vibe Coding

Most vibe coders get CI/CD without knowing it. Connect GitHub to Vercel: push to main = production deploy, push to branch = preview URL. That's already CI/CD. For more control, GitHub Actions adds custom steps like running tests before deploy.

Example

For example: You push code to GitHub. Automatically, Vercel checks if your TypeScript compiles, runs your tests, and if everything passes, deploys your updated site — all in about 60 seconds.

GitHub Actions deploy workflow

name: Deploy
on:
  push:
    branches: [main]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - run: npm install
      - run: npx tsc --noEmit
      - run: railway up
        env:
          RAILWAY_TOKEN: ${{ secrets.RAILWAY_TOKEN }}

Related Terms

Related Guides

Frequently Asked Questions

Vercel and Railway give you automatic deployments already. Add GitHub Actions only when you need custom checks.

A unique URL for each branch. Test changes before merging to main and breaking production.