- Checkout Code from GitHub.
- Build Project.
- Execute SonarQube Test.
- Upload Build Artifact to Sonatype Nexus.
- Build Docker Image.
- Push Docker Image to AWS ECR 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, AWS ECR Registry, Kubernetes and Amazon Web Services.
git branch: 'main', url: 'https://github.com/DevOpsCloudAutomation/JavaMavenApplication_AWS_ECR.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 236536187964.dkr.ecr.ap-south-1.amazonaws.com/webapplication:${buildNumber} . aws ecr get-login-password --region ap-south-1 | docker login --username AWS --password-stdin 236536187964.dkr.ecr.ap-south-1.amazonaws.com
docker push 236536187964.dkr.ecr.ap-south-1.amazonaws.com/webapplication:${buildNumber} docker rmi -f 236536187964.dkr.ecr.ap-south-1.amazonaws.com/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.
