Intégration et Livraison Continue (CI/CD)

Cette section détaille la pipeline CI/CD mise en place pour le projet Letter Box.

  • Utilisation de GitHub Actions pour automatiser les tests, le build, et le déploiement
  • Lint, tests unitaires, build Docker, push registry, déploiement Kubernetes
  • Gestion des secrets via GitHub Secrets

Exemple de workflow :

name: CI/CD
on:
  push:
    branches: [main]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Set up Python
        uses: actions/setup-python@v4
        with:
          python-version: '3.11'
      - name: Install backend dependencies
        run: |
          cd projet/backend
          pip install -r requirements.txt
      - name: Run backend tests
        run: |
          cd projet/backend
          pytest
      - name: Build Docker images
        run: docker-compose build
      - name: Push Docker images
        run: docker-compose push
      - name: Deploy to Kubernetes
        run: |
          kubectl apply -f projet/devops/kubernetes-deployment.yaml