From 9d94c692ee74734bbc240a8badd7e2e2b38f175d Mon Sep 17 00:00:00 2001 From: lenape Date: Tue, 4 Mar 2025 23:19:42 +0000 Subject: [PATCH] updated jenkinsfile --- Jenkinsfile | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 2b1a4c2..b55a257 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,12 +1,16 @@ pipeline { - agent any - + agent { + docker { + image 'docker:latest' + args '-v /var/run/docker.sock:/var/run/docker.sock' + } + } stages { stage('Build Docker Image') { steps { script { def imageName = "python-jenkins-project:${BUILD_NUMBER}" - sh "DOCKER_BUILDKIT=0 docker build --no-cache -t ${imageName} ." + docker.build(imageName, '.') env.IMAGE_NAME = imageName } } @@ -14,18 +18,35 @@ pipeline { stage('Deploy Docker Container') { steps { script { - sh "docker stop python-jenkins-container || true" - sh "docker rm python-jenkins-container || true" - sh "docker run -d -p 5555:80 --name python-jenkins-container ${env.IMAGE_NAME}" + sh """ + docker stop python-jenkins-container || true + docker rm python-jenkins-container || true + docker run -d -p 5555:80 --name python-jenkins-container ${env.IMAGE_NAME} + """ } } } stage('Verify Deployment') { steps { script { - sh "curl http://38.110.1.139:5555" + retry(3) { // Retry up to 3 times + sh """ + curl --fail http://38.110.1.139:5555 + """ + } } } } } + post { + always { + script { + sh """ + docker network connect host python-jenkins-container + docker exec python-jenkins-container sed -i 's/listen 80 default_server;/listen 80 default_server; server_name python.jacquesingram.online;/' /etc/nginx/conf.d/default.conf + docker exec python-jenkins-container nginx -s reload + """ + } + } + } }