Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

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

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors