Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Jenkinsfiles

Pipeline Utilité
EC2 Pipeline Pipeline complète avec DevSecOps, Quality Gate et notifications
K8s Pipeline Variante Kubernetes remplaçant le déploiement EC2 classique

🔄 Base Pipeline

Toutes les pipelines ci dessous sont basés sur une Pipeline initiale qui possède les fonctionnalités suivantes:

Fonctionnalités :

  • récupération du code depuis GitHub ;
  • compilation du backend (Maven) ;
  • installation et build du frontend (Node.js) ;
  • exécution des tests backend ;
  • exécution des tests frontend.
  • build des images Docker backend/frontend ;
  • push vers Docker Hub ;

📈 Workflow

Continuous Integration
  |
  ├── GitHub (checkout)
  ├── Build Backend (Maven)
  ├── Tests Backend
  ├── Build Frontend (npm)
  ├── Tests Frontend
  |
Continuous Deployment
  |
  ├── Docker Build backend
  ├── Docker Build frontend
  └── Docker Hub (push)

⚙️ EC2 Pipeline

Version complète avec ajout du déploiement continu sur AWS EC2, orientée production intégrant les aspects DevSecOps, qualité et observabilité.

🎯 Fonctionnalités :

Ajouts:

  • connexion SSH aux instances EC2 ;
  • mise à jour automatique via : docker compose pull

Infrastructure

  • utilisation de DNS privés AWS (Route53) ;
  • variables centralisées pour faciliter la maintenance ;
  • déploiement backend/frontend sur EC2.

Qualité logicielle

  • analyse de code avec SonarQube ;
  • vérification de la qualité via Quality Gate.

Sécurité

  • scan des images Docker avec Trivy ;
  • génération automatique d’un rapport HTML de sécurité.

Monitoring CI/CD

  • notifications Discord :
    • démarrage du build ;
    • statut final (succès / échec).

📈 Workflow

Logging
  |
  ├── Discord Notification (start, end)
  |
Continuous Integration
  |
  ├── GitHub (checkout)
  ├── Build Backend (Maven)
  ├── Tests Backend
  ├── Build Frontend (npm)
  ├── Tests Frontend
  |
Security
  |
  ├── Code Analysis (sonarqube)
  ├── Security Scan (trivy)
  |
Continuous Deployment
  |
  ├── Docker Build backend
  ├── Docker Build frontend
  ├── Docker Hub (push)
  └── EC2 Deployment

Source: pipelines/ec2_pipeline/

☸️ k8s Pipeline

Version Kubernetes de la pipeline EC2.

Différence principale : le déploiement n’est plus effectué directement sur une instance EC2. Donc dans la partie CD on remplace le EC2 Deployment par:

  • mise à jour du déploiement Kubernetes (kubectl rollout);
  • redéploiement automatique des pods backend par le Control Plane.

📈 Workflow

Logging
  |
  ├── Discord Notification (start, end)
  |
Continuous Integration
  |
  ├── GitHub (checkout)
  ├── Build Backend (Maven)
  ├── Tests Backend
  ├── Build Frontend (npm)
  ├── Tests Frontend
  |
Security
  |
  ├── Code Analysis (sonarqube)
  ├── Security Scan (trivy)
  |
Continuous Deployment
  |
  ├── Docker Build backend
  ├── Docker Build frontend
  ├── Docker Hub (push)
  |
Kubernetes 
  |
  ├── kubectl rollout
  └── Pod Update

Source: pipelines/k8s_pipeline/

About

CI/CD pipelines with SonarQube/Trivy scanning, deploying to EC2 or K8s

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors