Jenkins (software)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Jenkins (software)
Jenkins logo with title.svg
Initial release 2 February 2011 (2011-02-02)[1]
Stable release 1.563 / 11 May 2014; 2 months ago (2014-05-11)
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.

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 AccuRev, CVS, Subversion, Git, Mercurial, Perforce, Clearcase and RTC, 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.[2] Released under the MIT License, Jenkins is free software.[3]

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.

History[edit]

Jenkins was originally developed as the Hudson project. Hudson's creation started in summer of 2004 at Sun Microsystems. It was first released in java.net in Feb. 2005.[4]

Around 2007 Hudson became known as a better alternative to CruiseControl and other open-source build-servers.[2][5] At the JavaOne conference in May 2008 the software won the Duke's Choice Award in the Developer Solutions category.[6]

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] after Oracle claimed the right to the name and applied for a trademark in December 2010.[9] As a result, on January 11, 2011, a call for votes was made to change the project name from "Hudson" to "Jenkins".[10] The proposal was overwhelmingly approved by community vote on January 29, 2011, creating the Jenkins project.[11][12]

On February 1, 2011, Oracle said that they intended to continue development of Hudson, and considered Jenkins a fork rather than a rename.[13] Jenkins and Hudson therefore continue as two independent projects, each claiming the other is the fork. As of December 2013, the Jenkins organisation on GitHub had 567 project members and around 1,100 public repositories,[14] compared with Hudson's 32 project members and 17 public repositories.[15]

In 2011, creator Kohsuke Kawaguchi received a Google-O'Reilly Open Source Award for his work on the Hudson/Jenkins project. In 2014, Kawaguchi became the Chief Technology Officer for CloudBees.[16]

Plugins[edit]

Plugins have been released for Jenkins that extend its use to projects written in languages other than Java.[17] Plugins are available for integrating Jenkins with most version control systems and big 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.

Other frameworks[edit]

Based on the original Jenkins for Java, there are now similar tools for other programming frameworks such as:

* Buildbot - a Python system to automate the compile/test cycle to validate code changes.
* Mule - a lightweight integration platform that enables you to connect anything, anywhere. 
* Tox - an automation tool providing packaging, testing and deployment of Python software.
* Travis-CI - a distributed CI server which builds tests for open source projects for free. 
* Django-Jenkins[18] Django (Python) Web Framework integration with Jenkins.

See Continuous Integration for more.

See also[edit]

References[edit]

  1. ^ Jenkins 1.396 released, The first release of Jenkins is posted, Kohsuke Kawaguchi
  2. ^ a b Dyer, Dan (May 9, 2008). "Why are you still not using Hudson?". New Adventures in Software. uncommons.org. Retrieved May 21, 2008. 
  3. ^ Kawaguchi, Kohsuke, et al. "Use Hudson: License". Retrieved January 30, 2011. 
  4. ^ Kawaguchi, Kohsuke. "Hudson". Retrieved 28 June 2013. 
  5. ^ 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. 
  6. ^ 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. 
  7. ^ "Who's driving this thing?". Retrieved January 31, 2011. 
  8. ^ "Hudson Process Discussion Summary". Retrieved January 31, 2011. 
  9. ^ Blewitt, Alex. "Hudson Renames to Jenkins". InfoQ. Retrieved 8 February 2011. 
  10. ^ Bayer, Andrew (January 11, 2011). "Hudson's future". Jenkins CI: A Jenkins community resource. Retrieved January 11, 2011. 
  11. ^ Bayer, Andrew (January 29, 2011). "Rename Vote Results". Hudson-dev Google Group. Archived from the original on January 29, 2011. Retrieved January 29, 2011. 
  12. ^ Bayer, Andrew (January 29, 2011). "Jenkins!". Retrieved January 30, 2011. 
  13. ^ "The Future of Hudson". Hudson-dev mailing list. Retrieved 2011-02-02. 
  14. ^ "Jenkins organisation on GitHub". Retrieved January 22, 2013. "Jenkins (jenkinsci). Joined on Jul 21, 2009. 1.1k public repos. 567 members" 
  15. ^ "Hudson organisation on GitHub". Retrieved January 22, 2013. "Hudson CI Server (hudson). Joined on Feb 01, 2011. 17 public repos. 32 members" 
  16. ^ "People on the Move". Boston Business Journal. Retrieved 31 January 2014. 
  17. ^ Plugins - Jenkins
  18. ^ django-jenkins

External links[edit]