CI/CD Pipelines with GitHub Actions
Automate testing and deployment of your Node.js app by building a continuous integration and delivery pipeline with GitHub Actions.
CI/CD Pipelines with GitHub Actions is a free Node.js Backend Development Bootcamp lesson on CoddyKit — lesson 4 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Node.js Backend Development Bootcamp learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.
What is CI/CD?
Continuous Integration (CI) automatically builds and tests your code on every push. Continuous Delivery/Deployment (CD) automatically ships passing code to production.
Together they catch bugs early and remove manual, error-prone release steps.
Why GitHub Actions?
GitHub Actions runs workflows directly in your repository. There is no separate server to manage, it integrates with pull requests, and it has a generous free tier for public repos.
Workflow File Location
Workflows are YAML files inside .github/workflows/. Each file describes one workflow, and a repo can have many.
// .github/workflows/ci.ymlTriggers
The on key defines what starts a workflow. Common triggers are pushes and pull requests to specific branches.
name: CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]Jobs and Runners
A workflow has one or more jobs. Each job runs on a fresh virtual machine (a runner) you select with runs-on.
jobs:
test:
runs-on: ubuntu-latestSteps
A job is a sequence of steps. A step either runs a shell command (run) or uses a prebuilt action (uses).
steps:
- uses: actions/checkout@v4
- run: echo 'Code checked out'Setting Up Node.js
The official setup-node action installs the Node version you specify and can cache dependencies for faster runs.
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npmInstalling and Testing
With Node ready, install dependencies and run your test suite. If tests fail the job fails, blocking the merge.
- run: npm ci
- run: npm testA Complete CI Workflow
Here is a full, minimal pipeline that checks out code, sets up Node, installs, and tests on every push and pull request.
name: CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: 20, cache: npm }
- run: npm ci
- run: npm testSecrets
Never commit API keys. Store them in your repo's Settings > Secrets and reference them with the secrets context. They are masked in logs.
- run: ./deploy.sh
env:
API_KEY: ${{ secrets.API_KEY }}Adding a Deploy Step
For CD, add a job that runs only after tests pass and only on the main branch, then deploys. The needs and if keys control ordering and conditions.
deploy:
needs: test
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
steps:
- run: echo 'Deploying...'Quick Check
Test your CI/CD knowledge.
Recap
You built an automated pipeline with GitHub Actions:
- Workflows live in
.github/workflows/as YAML onsets triggers;jobsrun onruns-onrunners- Steps use prebuilt actions or run shell commands
- Install with
npm ciand runnpm testautomatically - Store credentials in secrets and gate deploys with
needs+if
Now every push is tested and safe code can ship automatically.
Frequently asked questions
Is the “CI/CD Pipelines with GitHub Actions” lesson free?
Yes — the full text of “CI/CD Pipelines with GitHub Actions” is free to read here on the web, and the Node.js Backend Development Bootcamp course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Node.js Backend Development Bootcamp course, upgrade to CoddyKit PRO.
What will I learn in “CI/CD Pipelines with GitHub Actions”?
Automate testing and deployment of your Node.js app by building a continuous integration and delivery pipeline with GitHub Actions. You practise Node.js Backend Development Bootcamp with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start Node.js Backend Development Bootcamp?
No prior experience is required. Node.js Backend Development Bootcamp on CoddyKit is structured for beginners through advanced learners; this is — lesson 4 of 4, so you can start here or from the beginning and move at your own pace.
How long does the “CI/CD Pipelines with GitHub Actions” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this Node.js Backend Development Bootcamp lesson?
Yes. Every Node.js Backend Development Bootcamp lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.
All lessons in this course
- Containerization with Docker
- Cloud Deployment (AWS/Heroku)
- Process Management with PM2
- CI/CD Pipelines with GitHub Actions