GitHub Actions provides a powerful, free CI/CD platform built into your repository.
CI Workflow
name: CI Pipeline
on:
push:
branches: [main, develop]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm ci
- run: npm test
Docker Build
build:
needs: test
steps:
- uses: docker/build-push-action@v5
with:
push: true
tags: ghcr.io/${{ github.repository }}:${{ github.sha }}
Multi-Environment Deploy
deploy-staging:
needs: build
environment: staging
steps:
- run: ssh deploy@staging "docker compose up -d"
deploy-production:
needs: deploy-staging
environment: production
steps:
- run: ssh deploy@prod "docker compose up -d"
Master DevOps with our DevOps eBook collection.