Jenkins (software)
| Initial release | 2 February 2011[1] |
|---|---|
| Stable release | 1.514 / May 1, 2013 |
| Written in | Java |
| Operating system | Cross-platform |
| Type | Continuous integration |
| License | MIT license |
| Website | jenkins-ci.org |
Jenkins is an open source continuous integration tool written in Java. The project was forked from Hudson after a dispute with Oracle, which claims the right to trademark the Hudson name and has applied for such a trademark as of December 2010.[2]
Jenkins provides continuous integration services for software development. It is a server-based system running in a servlet container such as Apache Tomcat. It supports SCM tools including CVS, Subversion, Git, Mercurial, Perforce and Clearcase, and can execute Apache Ant and Apache Maven based projects as well as arbitrary shell scripts and Windows batch commands. The primary developer of Jenkins is Kohsuke Kawaguchi.[3] Released under the MIT License, Jenkins is free software.[4]
Builds can be started by various means, including being triggered by commit in a version control system, scheduling via a cron-like mechanism, building when other builds have completed, and by requesting a specific build URL.
Contents |
History[edit]
Around 2007 Jenkins emerged as a popular alternative to CruiseControl and other open-source build-servers.[3][5] At the JavaOne conference in May 2008 the software won the Duke's Choice Award in the Developer Solutions category.[6] In 2011, creator Kohsuke Kawaguchi received a Google-O'Reilly Open Source Award for his work on the Jenkins project.
Hudson[edit]
Jenkins was originally developed as the Hudson project. During November 2010, an issue arose in the Hudson community with respect to the infrastructure used, which grew to encompass questions over the stewardship and control by Oracle.[7] Negotiations between the principal project contributors and Oracle took place, and although there were many areas of agreement a key sticking point was the trademarked name "Hudson".[8] As a result, on January 11, 2011, a call for votes was made to change the project name from "Hudson" to "Jenkins".[9] The proposal was overwhelmingly approved by community vote on January 29, 2011 creating the Jenkins project.[10][11] On February 1, 2011, Oracle said that they intended to continue development of Hudson, and considered Jenkins a fork rather than a rename.[12] Jenkins and Hudson therefore continue as two independent projects, each claiming the other is the fork. As of 22 January 2013, The Jenkins organisation on GitHub had 431 project members and 890 public repositories,[13] Hudson 33 project members and 82 public repositories.[14] The one month bug statistics are similarly proportioned: for Jenkins 250 bugs were opened and 170 closed, for Hudson 0 bugs were opened and 6 closed the last thirty days. Hudson development has recently moved to Eclipse so these metrics may not accurately represent project activity.
Plugins[edit]
Plugins have been released for Jenkins that extend its use to projects written in languages other than Java.[15] Plugins are available for integrating Jenkins with most version control systems and bug databases. Many build tools are supported via their respective plugins. Plugins can also change the way Jenkins looks or add new functionality.
Builds can generate test reports in various formats (JUnit is supported out-of-the-box, others via plugins) and Jenkins can display the reports and generate trends and render them in the GUI.
Example[edit]
Every server running an instance of Jenkins offers an overview of the build status for all projects that were configured to be built on the server. This overview page is implemented with the help of an Apache HTTP server. For most users and administrators this is the most important way of getting up-to-date information about current builds and configuration of their Jenkins instance. An openly available example is the OsmoCom project.[16] Osmocom is a project that consists of several sub-projects so that many build are necessary to get an overview of the complete project. Even a project manager (usually not interested in details of build management) can get an overview of his project's status at any time. A well-configured Jenkins server allows access to this page only after proper login, depending on access permissions adminstered by an LDAP server. While the configuration manager is allowed to trigger builds through this web page, the project manager will only get status information. This is in contrast to software developers who usually have access permssion for more detailed build results like automated error analysis through static code analysis.
See also[edit]
References[edit]
- ^ Jenkins 1.396 released, The first release of Jenkins is posted, Kohsuke Kawaguchi
- ^ Blewitt, Alex. "Hudson Renames to Jenkins". InfoQ. Retrieved 8 February 2011.
- ^ a b Dyer, Dan (May 9, 2008). "Why are you still not using Hudson?". New Adventures in Software. uncommons.org. Retrieved May 21, 2008.
- ^ Kawaguchi, Kohsuke, et al. "Use Hudson: License". Retrieved January 30, 2011.
- ^ Jay R. [user name]; Jeffery Frederick, Jonik, et al [user names]. "What is the difference between Hudson and CruiseControl for Java projects?". Stack Overflow. Retrieved January 17, 2011.
- ^ Duboscq, Geneviève (2008). "2008 JavaOne Conference: Duke's Choice Awards Winners for 2008". 2008 Java One Conference. java.sun.com. Retrieved May 21, 2008.
- ^ "Who's driving this thing?". Retrieved January 31, 2011.
- ^ "Hudson Process Discussion Summary". Retrieved January 31, 2011.
- ^ Bayer, Andrew (January 11, 2011). "Hudson's future". Jenkins CI: A Jenkins community resource. Retrieved January 11, 2011.
- ^ Bayer, Andrew (January 29, 2011). "Rename Vote Results". Hudson-dev Google Group. Archived from the original on January 29, 2011. Retrieved January 29, 2011.
- ^ Bayer, Andrew (January 29, 2011). "Jenkins!". Retrieved January 30, 2011.
- ^ "The Future of Hudson". Hudson-dev mailing list. Retrieved 2011-02-02.
- ^ "Jenkins organisation on GitHub". Retrieved January 22, 2013. "... Jenkins (jenkinsci). Joined on Jul 21, 2009. 890 public repos. 431 members ...'"
- ^ "Hudson organisation on GitHub". Retrieved January 22, 2013. "... Hudson CI Server (hudson). Joined on Feb 01, 2011. 82 public repos. 33 members ...'"
- ^ Plugins - Jenkins
- ^ "OsmoCom project status page". 2013. Retrieved June 3, 2013.
External links[edit]
| MediaWiki has documentation related to: Jenkins |
- Jenkins homepage
- Jenkins tutorial video
- Hudson free book
- Jenkins all-in-one installer, virtual machine and cloud images by BitNami
- Hudson and CI related articles
- Jenkins creator Kohsuke Kawaguchi on The Changelog podcast talking about the project origin and name change
- 7 Ways to Optimize Jenkins/Hudson from founder Kohsuke Kawaguchi