Understanding DevOps Tools

To automate build and deployment process we will use several tools DevOps Tool chain.

  1. Maven

  2. GitHub

  3. Tomcat Server

  4. Sonar Qube

  5. Nexus

  6. Jenkins

  7. Ansible

  8. Terraform

  9. Docker

  10. K8S

  11. Graphana

  12. Prometheus

    Now let's we understand each tool one by one

    1. 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).

    2. 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.

    3. 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.

    4. 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.

    5. Nexus:-

      - It is an artifacts repository server.

      - We will store application artifacts in this server.

      The remaining tools we discuss on nextr blog.