Commit b4ced1f9 authored by Khady Diagne's avatar Khady Diagne

Update Jenkinsfileargo

parent 3367a2a0
pipeline { pipeline {
environment { environment {
imagename = "khadydiagne/k8s_app" imagename = "khadydiagne/odoo-app" // Nom de l'image Docker
registryCredential = 'docker' registryCredential = 'dockerhub' // Identifiants Docker Hub stockés dans Jenkins
SONAR_PROJECT_KEY = 'test_java'
SONAR_HOST_URL = 'http://192.168.230.128:9000'
SONAR_TOKEN = credentials('sonarqube') // Jeton d'accès SonarQube stocké dans Jenkins
KUBECONFIG = '/var/lib/jenkins/.kube/config' // Chemin vers le fichier kubeconfig dans Jenkins
}
agent any
stages {
stage('Cloning Git') {
steps {
git([url: 'https://github.com/khadythiara/test_sonarqube.git', branch: 'main'])
sh 'chmod +x ./mvnw'
}
} }
stage('Building Image') { agent any
steps {
script {
dockerImage = docker.build(imagename, ".")
}
}
}
stage('Push Image') { stages {
steps { stage('Cloning Git') {
script { steps {
docker.withRegistry('', registryCredential) { // Cloner le dépôt Git contenant le Dockerfile et l'application Odoo
dockerImage.push("$BUILD_NUMBER") git([url: 'https://github.com/khadythiara/test_sonarqube.git', branch: 'main'])
dockerImage.push('latest') }
}
} }
}
}
stage('ArgoCD Deployment') { stage('Building Docker Image') {
steps { steps {
script { script {
sh 'kubectl apply -f argocd_deploy.yaml --validate=false ' // Construire l'image Docker pour l'application Odoo
dockerImage = docker.build(imagename, ".")
}
}
} }
}
}
stage('Scale Deployment') { stage('Push Docker Image') {
steps { steps {
script { script {
// Mise à l'échelle des réplicas à 5 // Pousser l'image Docker vers Docker Hub
sh 'kubectl scale deployment k8s-app-deployment --replicas=3' docker.withRegistry('', registryCredential) {
// Vérification de la mise à l'échelle dockerImage.push("$BUILD_NUMBER")
sh 'kubectl get pods -o wide' dockerImage.push('latest')
}
}
}
} }
}
} }
stage('Monitor Scaling') { stage('ArgoCD Deployment') {
steps { steps {
script { script {
// Affichage des métriques de ressources sh 'kubectl apply -f argocd_deploy.yaml --validate=false '
sh 'kubectl top pods'
// Optionnel : vérifier l'état de la charge sur les nœuds
sh 'kubectl top nodes'
} }
}
} }
}
stage('Verify Deployment') { stage('Verify Deployment') {
steps { steps {
...@@ -80,13 +58,12 @@ pipeline { ...@@ -80,13 +58,12 @@ pipeline {
} }
} }
post { post {
always { success {
script { echo 'L\'image Docker a été poussée avec succès sur Docker Hub.'
sh 'kubectl delete pods --field-selector=status.phase=Succeeded' }
failure {
echo 'Le pipeline a échoué.'
}
} }
echo 'Pipeline terminé et nettoyage effectué' }
} \ No newline at end of file
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment