Understanding DevOps Tools
To automate build and deployment process we will use several tools DevOps Tool chain.
Maven
GitHub
Tomcat Server
Sonar Qube
Nexus
Jenkins
Ansible
Terraform
Docker
K8S
Graphana
Prometheus
Now let's we understand each tool one by one
Maven :-
- Maven is a build tool. We can create project folder structure.
- Download dependencies required for development. Ex. Spring, hibernate dependencies.
- Project source code compilation (Converting programs to machine understandable format).
- Unit test execution.(Junits)
- Packaging application.
- Creating package (jar or war).
Git Hub:-
- It is repository server.
- It is used to store project source code.
- All the developers will keep project code in git hub repo.
- Git will acts as version control software.
- It will provide monitored access for our project (source code).(who,when,why,what & where)
- DevOps team should take the code from Git Hub repo.
Sonar Qube:-
- It is code review software.
- Code Quality check we will using Sonar Qube.
- Sonar Qube will identify below issues in the project code.
a) Bad coding practice
b) Potential bugs
c) Duplicate code Blocks
d) Vulnerabilities
e) Unit testing report
f) Code coverage report.
Tomcat:-
- Tomcat is a webserver.
- Tomcat webserver is used to deploy web application.
Note:- Every web application should be deployed into a server. Web application will be deployed as a war file.
Nexus:-
- It is an artifacts repository server.
- We will store application artifacts in this server.
The remaining tools we discuss on nextr blog.