Files
demo-app/Jenkinsfile
2025-12-19 07:54:46 +00:00

44 lines
1.0 KiB
Groovy

pipeline {
agent any
stages {
stage('Build Docker Image') {
steps {
sh '''
docker build -t 192.168.1.80:5000/demo-app:${BUILD_NUMBER} .
docker tag 192.168.1.80:5000/demo-app:${BUILD_NUMBER} 192.168.1.80:5000/demo-app:latest
'''
}
}
stage('Smoke Test Image') {
steps {
sh '''
docker run -d --name demo-app-test 192.168.1.80:5000/demo-app:${BUILD_NUMBER}
sleep 5
docker ps | grep demo-app-test
docker rm -f demo-app-test
'''
}
}
stage('Push Image to Registry') {
steps {
sh '''
docker push 192.168.1.80:5000/demo-app:${BUILD_NUMBER}
docker push 192.168.1.80:5000/demo-app:latest
'''
}
}
}
post {
always {
sh 'docker rm -f demo-app-test || true'
}
}
}