Ce dossier contient les workflows et configurations GitHub Actions pour le projet ADS SaaS.
.github/
├── workflows/
│ ├── deploy.yml # Pipeline CI/CD principal
│ └── debug-secrets.yml # Workflow de debug temporaire
├── SECRETS.md # Guide de configuration des secrets
├── ENVIRONMENT_SETUP.md # Configuration des environnements GitHub Actions
└── README.md # Ce fichier
- Push sur
main→ Déploiement en production - Push sur
develop→ Déploiement en staging - Pull Request vers
main→ Tests uniquement
- Installation des dépendances client/serveur
- Vérification TypeScript
- Linting du code
- Build du frontend
- Audit de sécurité
- Upload coverage vers Codecov (optionnel)
- Construction des images Docker
- Push vers GitHub Container Registry
- Cache des layers pour optimisation
- Condition : Push sur
develop - Déploiement SSH vers serveur staging
- Tests post-déploiement
- Notification Slack (optionnelle)
- Condition : Push sur
main - Scan de sécurité avec Trivy
- Mode maintenance temporaire
- Déploiement avec rollback automatique
- Tests de santé post-déploiement
- Notifications Discord/Slack (optionnelles)
- Condition : Après déploiement production
- Audit Lighthouse
- Tests de charge avec k6
- Génération de rapports
Workflow temporaire pour diagnostiquer les problèmes de configuration :
- Déclenchement : Manuel uniquement (
workflow_dispatch) - Tests : Vérification des secrets et connexions SSH
- Rapport : Génération automatique de rapport de debug
- À supprimer : Une fois les environnements configurés
- Aller dans
Actions→Debug Secrets Configuration - Cliquer sur "Run workflow"
- Choisir l'environnement à tester (staging/production)
- Analyser les résultats et suivre les recommandations
- 📚 SECRETS.md - Guide des secrets GitHub
- 🌍 ENVIRONMENT_SETUP.md - Configuration des environnements
- Credentials SSH pour staging et production
- Variables d'environnement des serveurs
- Webhooks pour notifications
- Tokens pour intégrations externes
Si vous rencontrez ces erreurs, consultez le guide des environnements qui explique :
- Comment créer les environnements GitHub Actions
- Comment configurer les secrets au bon niveau
- Comment résoudre les problèmes d'accès aux secrets
Solution rapide : Utilisez le workflow de debug pour identifier les secrets manquants !
Éditez les variables dans deploy.yml :
env:
NODE_VERSION: '18'
REGISTRY: ghcr.io
IMAGE_NAME: ads-saasAjoutez de nouveaux jobs ou steps selon vos besoins :
my-custom-job:
name: 🔄 Custom Job
runs-on: ubuntu-latest
needs: test
steps:
- name: Custom Step
run: echo "Hello World"- Staging : Slack uniquement
- Production : Discord + Slack
- Échecs : Notifications automatiques avec détails
- Durée des déploiements
- Statut des health checks
- Performance Lighthouse
- Résultats des tests de charge
Activez les logs détaillés en ajoutant :
env:
ACTIONS_STEP_DEBUG: trueUtilisez act pour tester localement :
# Installer act
brew install act
# Tester le workflow
act -j test- Cache npm automatique
- Cache Docker layers
- Cache des builds entre runs
- Tests client/serveur en parallèle
- Build des images simultané
- Déploiements conditionnels
- ✅ Secrets jamais en plain text
- ✅ Scans de sécurité automatiques
- ✅ Authentification SSH par clés
- ✅ Rollback automatique en cas d'échec
Le workflow utilise uniquement les permissions nécessaires :
contents: readpour checkoutpackages: writepour registry- Secrets limités par environnement
📚 Documentation : Guide de Déploiement 🔧 Support : Voir les issues GitHub pour assistance