What is Jenkins and How does it work? An Overview and Its Use Cases

History & Origin of Jenkins

The Jenkins project was started in 2004 (originally called Hudson) by Kohsuke Kawaguchi, while he worked for Sun Microsystems. Kohsuke was a developer at Sun and got tired of incurring the wrath of his team every time his code broke the build. Jenkins has an early mover advantage since it has been in development since 2011. Kohsuke Kawaguchi created Jenkins (then called ‘Hudson’) while working at Sun Microsystems. Hudson was created in the summer of 2004 and the first release was in February 2005.

After the acquisition of Sun Microsystems by Oracle, a proposal was approved by the Hudson community for creating the Jenkins project. In February 2011, Oracle intended that the development of Hudson should continue hence, Hudson was forked instead of renaming it Jenkins.

What is Jenkins

Jenkins is an open-source Continuous Integration server written in Java for orchestrating a chain of actions to achieve the Continuous Integration process in an automated fashion. Jenkins supports the complete development life cycle of software from building, testing, documenting the software, deploying, and other stages of the software development life cycle.

Jenkins is a widely used application around the world that has around 300k installations and growing day by day. By using Jenkins, software companies can accelerate their software development process, as Jenkins can automate build and test at a rapid rate.

It is a server-based application and requires a web server like Apache Tomcat. The reason Jenkins software became so popular is because of its monitoring of repeated tasks that arise during the development of a project. For example, if your team is developing a project, Jenkins will continuously test your project builds and show you the errors in the early stages of your development.

Features of Jenkins are:

  • Easy Installation. Jenkins is a platform-agnostic, self-contained Java-based program, ready to run with packages for Windows, Mac OS, and Unix-like operating systems.
  • Easy Configuration. …
  • Available Plugins. …
  • Extensible. …
  • Easy Distribution. …
  • Free Open Source

Why use Jenkins?

  • Faster Development
  • Better Software Quality
  • Easily Customisable
  • Effortless Auditing Of Previous Run
  • Large Community

Advantages of Jenkins

It is an open-source tool with great community support.
It is easy to install.
It has 1000+ plugins to ease your work. …
It is free of cost.
It is built with Java and hence, it is portable to all the major platforms.

Disadvantages of a Jenkins

  • Jenkins has a lot of redundant plugins.
  • Jenkins has many plugins that seem no longer maintained.
  • Not all plugins are compatible with Declarative Pipelines.
  • No less than a few dozen plugins are required to “modernize” Jenkins.
  • There’s no (maintained) YAML interface for Jenkins Pipelines

Best Jenkins Alternative

  • Jira
  • SonarQube
  • Codemagic
  • GitHub
  • Plank
  • FinalBuilder.
  • GoCD.
  • IBM Urbancode.
  • CircleCI.
  • TeamCity.
  • GitLab CI.

Best resources to learn Jenkins

https://devopsschool.com/

https://www.devopsschool.com/blog/?s=Jenkins

Rajesh Kumar
Follow me
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x