updated jenkinsfile
This commit is contained in:
35
Jenkinsfile
vendored
35
Jenkinsfile
vendored
@@ -1,12 +1,16 @@
|
|||||||
pipeline {
|
pipeline {
|
||||||
agent any
|
agent {
|
||||||
|
docker {
|
||||||
|
image 'docker:latest'
|
||||||
|
args '-v /var/run/docker.sock:/var/run/docker.sock'
|
||||||
|
}
|
||||||
|
}
|
||||||
stages {
|
stages {
|
||||||
stage('Build Docker Image') {
|
stage('Build Docker Image') {
|
||||||
steps {
|
steps {
|
||||||
script {
|
script {
|
||||||
def imageName = "python-jenkins-project:${BUILD_NUMBER}"
|
def imageName = "python-jenkins-project:${BUILD_NUMBER}"
|
||||||
sh "DOCKER_BUILDKIT=0 docker build --no-cache -t ${imageName} ."
|
docker.build(imageName, '.')
|
||||||
env.IMAGE_NAME = imageName
|
env.IMAGE_NAME = imageName
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -14,18 +18,35 @@ pipeline {
|
|||||||
stage('Deploy Docker Container') {
|
stage('Deploy Docker Container') {
|
||||||
steps {
|
steps {
|
||||||
script {
|
script {
|
||||||
sh "docker stop python-jenkins-container || true"
|
sh """
|
||||||
sh "docker rm python-jenkins-container || true"
|
docker stop python-jenkins-container || true
|
||||||
sh "docker run -d -p 5555:80 --name python-jenkins-container ${env.IMAGE_NAME}"
|
docker rm python-jenkins-container || true
|
||||||
|
docker run -d -p 5555:80 --name python-jenkins-container ${env.IMAGE_NAME}
|
||||||
|
"""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
stage('Verify Deployment') {
|
stage('Verify Deployment') {
|
||||||
steps {
|
steps {
|
||||||
script {
|
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
|
||||||
|
"""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user