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.