- Checkout Code from GitHub.
- Build Project.
- Execute SonarQube Test.
- Upload Build Artifact to Sonatype Nexus.
- Build Docker Image.
- Push Docker Image to Docker Hub Registry.
- Remove Docker Image Locally in Jenkins.
- Update Docker Image Tag in Kubernetes Manifest.
- Deploy Application into Kubernetes Cluster.
- Send CICD Pipeline Execution Status to Slack.
Tools and Technologies used are Java, Git, GitHub, Maven, SonarQube, Sonatype Nexus, Jenkins, Docker, DockerHub, Kubernetes and Amazon Web Services.
git branch: 'main', url: 'https://github.com/DevOpsCloudAutomation/JavaDockerApplication.git'Build Automation Tool Maven can be used to build this project as this project is developed using Java Programming Language.
mvn clean packageNote:
Java and Maven should be installed as a prerequisite to Build Project Code.
mvn sonar:sonar mvn deploy docker build -t devopscloudautomation/webapplication:${buildNumber} . docker login -u devopscloudautomation -p ${Docker_Hub_Password}
docker push devopscloudautomation/webapplication:${buildNumber} docker rmi -f devopscloudautomation/webapplication:${buildNumber} sed -i 's/Build_Tag/${Build_Number}/g' Deployment.yaml kubectl apply -f Deployment.yaml
helm install helmwebapplication helmwebapplication -n productionNote
Application can be deployed to Kubernetes Cluster using Kubernetes Manifest Files as well as Helm Chart.
