CI/CD avec GitHub Actions
L'integration et le deploiement continus automatisent vos workflows de developpement.
Workflow de base
name: CI/CD Pipeline
on:
push:
branches: [main]
pull_request:
branches: [main]
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
Deploiement automatique
deploy:
needs: test
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'
steps:
- uses: actions/checkout@v4
- name: Deploy
run: |
echo "Deploiement en production..."
Secrets et variables
env:
DATABASE_URL: ${{ secrets.DATABASE_URL }}
NODE_ENV: production
Matrix builds
strategy:
matrix:
node-version: [18, 20, 22]
os: [ubuntu-latest, windows-latest]
Bonnes pratiques
- Executer les tests a chaque PR
- Utiliser le cache pour accelerer
- Deployer uniquement depuis main
- Notifier l'equipe des echecs