$ cat pipeline_overview.md
A robust Jenkins declarative pipeline for SpringBoot applications, featuring automated testing, Docker containerization, and seamless deployment to multiple environments.
$ jenkins pipeline --show-stages
Pull latest code from GitHub repository
Compile SpringBoot application with Maven
Run unit tests and integration tests
Build Docker image and push to registry
$ cat tech_stack.yml
CI/CD Orchestration
Application Framework
Build Tool
Containerization
Testing Framework
$ cat features.txt
$ cat Jenkinsfile
pipeline {
agent any
environment {
mavenHome = tool "maven-cli"
dockerHome = tool "docker-plugin"
PATH = "$mavenHome/bin:$dockerHome/bin:$PATH"
}
stages {
stage("Checkout") {
steps {
sh 'mvn --version'
sh 'docker version'
echo "Default path - $env.PATH"
echo "Build number - $env.BUILD_NUMBER"
echo "Build ID - $env.BUILD_ID"
echo "Job name - $env.JOB_NAME"
}
}
stage("Compile") {
steps {
mvn clean package
}
}
stage("Test") {
steps {
mvn test
}
}
stage("Integration Test") {
steps {
echo "This is the integration test stage"
//skipping since no important component to integrate
}
}
stage("Docker Build") {
steps {
script {
dockerImage = docker.build("neergasm/azure-devops-build-and-push:undefined")
}
}
}
stage("Docker Push") {
steps {
script {
docker.withRegistry('', 'dockerhub') {
dockerImage.push()
dockerImage.push('latest')
}
}
}
}
}
}
$ ls external_links/