2025-12-15 17:16:00 +00:00
|
|
|
pipeline {
|
|
|
|
|
agent docker { image 'python:alpine3.22' }
|
|
|
|
|
stages {
|
|
|
|
|
stage('Pre-build') {
|
|
|
|
|
steps {
|
|
|
|
|
sh 'python3 -m venv venv'
|
|
|
|
|
sh 'source venv/bin/activate'
|
|
|
|
|
sh 'pip3 --version'
|
|
|
|
|
sh 'pip install -r requirements.txt'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
stage('Test') {
|
|
|
|
|
steps {
|
|
|
|
|
sh 'pytest test_app.py'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
stage('Containerization') {
|
|
|
|
|
steps {
|
|
|
|
|
sh 'echo Docker Build Image..'
|
|
|
|
|
sh 'echo Docker Tag Image....'
|
|
|
|
|
sh 'echo Docker Push Image......'
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-12-15 17:39:15 +00:00
|
|
|
parallel {
|
|
|
|
|
stage('Run-and-test')
|
|
|
|
|
{
|
|
|
|
|
steps {
|
|
|
|
|
sh 'gunicorn --bind 0.0.0.0:3001 app:app'
|
|
|
|
|
}
|
2025-12-15 17:16:00 +00:00
|
|
|
}
|
2025-12-15 17:39:15 +00:00
|
|
|
stage('Integration Testing') {
|
|
|
|
|
steps {
|
|
|
|
|
sh "sleep 10s"
|
|
|
|
|
sh 'curl localhost:3001'
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-12-15 17:16:00 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|