44 lines
1.0 KiB
Groovy
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'
|
|
}
|
|
}
|
|
}
|