Continuous integration is a DevOps software development practice where developers regularly merge their code changes into a central repository, after which automated builds and tests are run. Continuous integration most often refers to the build or integration stage of the software release process and entails both an automation component (e.g. a CI or build service) and a cultural component (e.g. learning to integrate frequently). The key goals of continuous integration are to find and address bugs quicker, improve software quality, and reduce the time it takes to validate and release new software updates.
Lets see what are the Tools we need to run this project
Tools:
Jenkins is the ci server we also need some tool for JENKINS.
GIT Version control system
Maven Build Tool
Checkstyle Code Analysis Tool.
Slack for notification
Nexus Artifact/Software repository this is to store artifact and for download dependency for maven
Sonarqube Code analysis Tool
AWS EC2
Three server
Jenkins
Nexus
Sonar
Login to aws
Create login key
Create SG
Jenkins
Nexus
Sonar
Create EC2 instances with userdata
Jenkins
Sonarqube
Nexus
Jenkins Post Installation
Nexus Repository Setup
3 repos
Sonarqube post installation
Jenkins steps
Build job
setup slack Notification
Checkstyle code analysis job
Setup SOnar integration
Sonar code analysis job
Artifact upload job
Connect all jobs together with build pipelines
Set Automatic Build trigger
Test with intellij
Cleanup.
Click the link Below to see how to setup other server