Jenkins is an open-source project written in Java that runs on Windows, macOS and other UNIX-like Operating systems. It is a free, community-supported and first-choice tool for continuous integration (CI).
Jenkins Automate the entire software development life cycle.
Jenkins was originally developed by sun microsystems in 2004 under the name Hudson.
The project was later named Jenkins when Oracle bought Microsystems.
It can run on any major platform without any compatibility issues.
Whenever developers write code, they integrate all that code of peer developers and then they build, test and deliver/deploy to the client. This process is called continuous integration (CI)/ continuous deployment (CD).
Jenkins helps us to achieve this.
Because of CI, bugs will be reported quickly and rectified more quickly. So the entire software development happens fast.
Workflow of Jenkins
We can attach git, maven, selenium and Artifact plugins to Jenkins.
Once developers put code in GitHub Jenkins pulls that code and sends it to Maven for build. (in the case of Java)
Once the build is done. Jenkins pulls that code and sends it to Selenium for testing.
Once testing is done, then Jenkins will pull that code and send it to artifactory as per requirement and so on.
We can also deploy with Jenkins.
Advantages of Jenkins
It has lots of plugins available.
You can write your own plugin.
You can use the community Plug-in as well.
Jenkins is not just a tool. It is a framework i.e. you can do whatever you want. All you need is plugins.
We can attach slaves(nodes) to Jenkins master. It instructs others (slaves) to do the job. If slaves are not available, Jenkins does the Job.
Jenkins also behaves as a crone server replacement. i.e. can do scheduled tasks.
Jenkins can create labels.