What is Jenkins?
Jenkins is this automated build that helps in integrating frequent work of every developer working on the server construction and highlight errors. An easy way to understand the role of Jenkins is to use an analogy of a building site construction. There are many aspects involved when a site is constructed: bricks to be finely laid, painting, windows to be made of glasses etc. Every task of building construction needs to be smoothly coordinated and monitored. This is the task of the supervisor who watches over the work and reports if there is any mistake, for example, the glasses have been broken or labors are not coming etc. The task of the supervisor is to watch over the construction and report to the owner if any mishap occurs. Now, it is the responsibility of the owner to sort that problem out.
Jenkins plays the role just similar to that of the supervisor of the building. When any company starts a project, there are many developers involved who are working on different parts of the software development project. Each developer is then required to insert their code of working copies, and Jenkins then “integrates” all the codes. Now, if there are any errors in the Continuous build system, then Jenkins identifies it by conducting automated unit tests and builds. Once the bugs are identified, then the developers put in the efforts to resolve them.
What is the history of Jenkins?
In 2005, Kohsuke Kawaguchi of Sun Microsystems first released Hudson. However, in 2010, Oracle bought Sun Microsystems and soon changed the name of Hudson to Jenkins in order to resolve a dispute over it. Oracle, however, continued the deployment of Hudson as a branch of the original.
So, we can see that Jenkins is basically branched from Hudson. It is a Java bases CI build and runs on the servlet container like Glassfish, Tomcat, etc. Jenkins supports over 400 plugins and provides reporting, SCM, Notifications, Artifact Saving, Triggers, External Integration, testing, are but few of the many functions.
What can Jenkins do?
Jenkins can perform many tasks. The basic task of Jenkins is to generate test reports. Jenkins enables integration with various different Versions of Control Systems and pushes to different artifact repositories. Jenkins also permits direct continuous deployment to test environment or production. It also provides notification to stakeholders of the project about the build status, which enables them to follow and keep track of the performance of the team or the company.
You can do it yourself now!
Jenkins is user-friendly and has really easy installation and configuration processes. It is packaged as a WAR, which enables you to drop it into the servlet of your preference. In case you desire a light implementation, Jenkins does come pre-packaged with its own servlet. The supported packages exist for all of the following systems:
• Ubuntu/ Debian
• Mac OSX
• Open SUSE
• Free BSD
• Open BSD
• Solaris/ OpenIndiana
• Redhat/ Fedora.CentOS
Jenkins provides two release lines. First is the ‘standard releases, ’ which allow weekly features and bug fixes. Second is the ‘Long-Term Support releases,’ which update about every 3 months and also uses a stable but relatively older version from the standard release line. It provides well-tested modifications, but changes are limited to backport. Cloud-based solutions like Cloudbees and ShiningPanda can provide a Jenkins instance as well.
Want to know more? Check out our courses on Jenkins, CI/CD and much more. Go to http://courses.tetranoodle.com