What is Jenkins and Why we need it?

What is jenkins?

  • Web Based tool to automate manual steps for any repetitive SDLC daily tasks.
  • Continuous integration tool
  • Continuous delivery tool
  • Jenkins can integrate with any available tools with a help of plugins
  • Jenkins jobs/projects run can be scheduled conditionally
  • Each fearure of plugins powered/extended with plugins
  • Jenkins has 300+ plugins to extend a jenkins fearure
  • Jenkins has 4 variant of release or major versions.
    — Jenkins Commuunity
    — Jenkins Enterprise by CloudBees
    — Jenkins X
    — Jenkins Blue Ocean
  • Current release is 2.X
  • Jenkins is Written in Java so this can be installed in any OS.
  • Jenkins old name is hudson
  • Jenkins is popular for creating CI/CD pipeline using code(jenkinsfile).

What is continuous integration?

  • Automated Build with immediate feedback
  • Auto Testing with immediate feedback

Details short version of continuous integration?

  • Automated Code Review with immediate feedback
  • Automated Build with immediate feedback
  • Automated Unit testing with immediate feedback
  • Automated Packaging with immediate feedback
  • Automated Package archive with immediate feedback
  • Automated Deployment to QA, UAT, Stageing env with immediate feedback
  • Automated Acceptance Testing with immediate feedback
  • Automated Code Coverage with immediate feedback

For achieving this, You need to integrate many tools such as following in Java Stack

  • Automated Code Review with SonarQube
  • Automated Build with Maven
  • Automated Unit testing with Junit
  • Automated Packaging with Jar
  • Automated Package archive with Nexus
  • Automated Deployment to QA, UAT, Staging env with Ansible
  • Automated Acceptance Testing with Selenium
  • Automated Code Coverage with Jacoco.

Thus, we need one tool which can be integrated with SonarQube, Maven, Junit, Jar, Nexus, Ansible, Selenium and Jacoco and the tool is Jenkins.

Rajesh Kumar
Follow me