Jenkins (Software)

Download as pdf or txt
Download as pdf or txt
You are on page 1of 5
At a glance
Powered by AI
Jenkins is an open source automation server written in Java that helps automate the software development process through continuous integration and delivery. It supports version control systems and build tools.

Jenkins is used for continuous integration and facilitating technical aspects of continuous delivery. It can execute build projects and tasks such as testing and deploying code changes.

Jenkins originated from the Hudson project in 2004. It was renamed to Jenkins in 2011 after a dispute with Oracle over the trademark. Hudson and Jenkins now continue as separate projects.

2/5/2019 Jenkins (software) - Wikipedia

Jenkins (software)
Jenkins is an open source automation server written in Java.
Jenkins
Jenkins helps to automate the non-human part of the software
development process, with continuous integration and facilitating
technical aspects of continuous delivery. It is a server-based
system that runs in servlet containers such as Apache Tomcat. It
supports version control tools, including AccuRev, CVS,
Subversion, Git, Mercurial, Perforce, TD/OMS, ClearCase and
RTC, and can execute Apache Ant, Apache Maven and sbt based
projects as well as arbitrary shell scripts and Windows batch
commands. The creator of Jenkins is Kohsuke Kawaguchi.[3]
Released under the MIT License, Jenkins is free software.[4]

Builds can be triggered by various means, for example by commit


in a version control system, by scheduling via a cron-like
mechanism and by requesting a specific build URL. It can also be
triggered after the other builds in the queue have completed.
Initial release 2 February 2011[1]
Jenkins functionality can be extended with plugins.
Stable release 2.138.3 / 8 November 2018
The Jenkins project was originally called Hudson, and was
Repository github.com/jenkinsci/jenkins (ht
renamed after a dispute with Oracle, and its fork, Hudson,
tps://github.com/jenkinsci/jenki
continued to be developed by Oracle for a time before being
ns)
donated to the Eclipse Foundation. Hudson is no longer
maintained[5][6] and was announced as obsolete in February
2017.[7] Written in Java
Platform Java SE
Type Continuous Delivery
Contents License MIT[2]

History Website jenkins.io (https://jenkins.io/)


Plugins
Mailer
Credentials
Monitoring external jobs
SSH Agents
Javadoc
Security
Awards and recognition
See also
References
External links

https://en.wikipedia.org/wiki/Jenkins_(software) 1/5
2/5/2019 Jenkins (software) - Wikipedia

History
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.[8]

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

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

On February 1, 2011, Oracle said that they intended to continue development of Hudson, and considered Jenkins a fork
rather than a rename. Jenkins and Hudson therefore continue as two independent projects,[13] each claiming the other is
the fork. As of May 2018, the Jenkins organization on GitHub had 650 project members and around 1,900 public
repositories,[14] compared with Hudson's 28 project members and 20 public repositories with the last update in 2016.[15]

In 2011, creator Kohsuke Kawaguchi received an O'Reilly Open Source Award for his work on the Hudson/Jenkins
project.[16]

On April 20, 2016 version 2 was released with the Pipeline plugin enabled by default. The plugin allows for writing build
instructions in Apache Groovy.

Jenkins replaced Hudson since February 8, 2017 in Eclipse.[7]

In March 2018 Jenkins X software project for Kubernetes was publicly presented,[17] with support for different cloud
provider including AWS EKS among others.[18]

Plugins
Plugins have been released for Jenkins that extend its use to projects written in languages other than Java. 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. There are a set of plugins
dedicated for the purpose of unit testing that generate test reports in various formats (for example, JUnit bundled with
Jenkins, MSTest, NUnit, etc.[19]) and automated testing that supports automated tests. Builds can generate test reports in
various formats supported by plugins (JUnit support is currently bundled) and Jenkins can display the reports and
generate trends and render them in the GUI.

Mailer
Allows configuring email notifications for build results.[20] Jenkins will send emails to the specified recipients whenever a
certain important event occurs, such as:

1. Failed build.
2. Unstable build.
3. Successful build after a failed build, indicating that a crisis is over
4. Unstable build after a successful one, indicating that there's a regression
https://en.wikipedia.org/wiki/Jenkins_(software) 2/5
2/5/2019 Jenkins (software) - Wikipedia

Credentials
Allows storing credentials in Jenkins. Provides a standardized API for other plugins to store and retrieve different types of
credentials.[21]

Monitoring external jobs


Adds the ability to monitor the result of externally executed jobs.[22]

SSH Agents
This plugin allows managing agents (formerly known as slaves)[23] running on *nix machines over SSH.[24] It adds a new
type of agent launch method. This launch method will

1. Open a SSH connection to the specified host as the specified username,


2. Check the default version of Java for that user,
3. [not implemented yet] If the default version is not compatible with Jenkins's agent.jar, try to find a proper version of
Java
4. Once it has a suitable version of Java, copy the latest agent.jar via SFTP (falling back to scp if SFTP is not
available),
5. Start the agent process.

Javadoc
This plugin adds Javadoc support to Jenkins. This functionality used to be a part of the core, but as of Jenkins 1.431, it was
split off into separate plugins.[25]

The plugin enables the selection of "Publish Javadoc" as a post-build action, specifying the directory where the Javadoc is
to be gathered and if retention is expected for each successful build.[26]

Security
Jenkins' security depends on two factors: access control and protection from external threats. Access control can be
customized via two ways: user authentication and authorization. Protection from external threats such as CSRF attacks
and malicious builds is supported as well.[27]

Awards and recognition


InfoWorld Bossie Award (Best of Open Source Software Award) in 2011.[28]
Received Geek Choice Award in 2014.[28]

See also
Comparison of continuous integration software

References
1. Jenkins 1.396 released (http://jenkins.361315.n4.nabble.com/Jenkins-1-396-released-td3257106.html), The first
release of Jenkins is posted, Kohsuke Kawaguchi

https://en.wikipedia.org/wiki/Jenkins_(software) 3/5
2/5/2019 Jenkins (software) - Wikipedia

2. "LICENSE.txt" (https://github.com/jenkinsci/jenkins/blob/master/LICENSE.txt). jenkinsci/jenkins (source code


repository). GitHub (published 2011-09-11). 2008-02-12. Archived (https://web.archive.org/web/20161018011712/http
s://github.com/jenkinsci/jenkins/blob/master/LICENSE.txt) from the original on 2016-10-18. Retrieved 2016-10-18.
3. Dan Dyer. "Why are you still not using Hudson?" (http://blog.uncommons.org/2008/05/09/why-are-you-still-not-using-h
udson/). Retrieved 2008-05-21.
4. Kawaguchi, Kohsuke; et al. "Use Hudson: License" (https://web.archive.org/web/20090207151650/http://hudson.gotd
ns.com/wiki/display/HUDSON/Use%2BHudson#UseHudson-License). Archived from the original (http://hudson.gotdn
s.com/wiki/display/HUDSON/Use+Hudson#UseHudson-License) on February 7, 2009. Retrieved January 30, 2011.
5. "About Jenkins" (https://wiki.eclipse.org/Jenkins#About_Jenkins). Eclipse Wiki: Jenkins. Retrieved 6 August 2017.
6. "About Jenkins" (https://wiki.eclipse.org/Jenkins#About_Jenkins). Wayback Machine: Eclipse Wiki, first available on 6
August 2017.Archive index (https://web.archive.org/web/*/https://wiki.eclipse.org/Jenkins#About_Jenkins) at the
Wayback Machine
7. "About Jenkins" (https://wiki.eclipse.org/index.php?title=Jenkins&oldid=414064). Eclipse Wiki history.
8. Kawaguchi, Kohsuke. "Hudson" (https://web.archive.org/web/20140701020639/https://www.java.net//blog/kohsuke/ar
chive/20070514/Hudson%20J1.pdf) (PDF). Archived from the original (https://www.java.net//blog/kohsuke/archive/200
70514/Hudson%20J1.pdf) (PDF) on 1 July 2014. Retrieved 28 June 2013.
9. Jeffrey Fredrick. [user name]. "What is the difference between Hudson and CruiseControl for Java projects?" (https://s
tackoverflow.com/questions/604385/what-is-the-difference-between-hudson-and-cruisecontrol-for-java-projects).
Stack Overflow. Retrieved January 17, 2011.
10. Duboscq, Geneviève (2008). "2008 JavaOne Conference: Duke's Choice Awards Winners for 2008" (http://java.sun.c
om/javaone/sf/2008/articles/2008dukeschoiceawards.jsp). 2008 Java One Conference. java.sun.com. Retrieved
May 21, 2008.
11. Rodrigues, Savio (December 3, 2010). "Oracle's open source missteps continue with Hudson project" (https://www.inf
oworld.com/article/2624986/development-tools/oracle-s-open-source-missteps-continue-with-hudson-project.html).
InfoWorld. Retrieved May 31, 2018.
12. Proffitt, Brian (February 2, 2011). "Hudson devs vote for name change; Oracle declares fork" (https://www.itworld.co
m/article/2746627/open-source-tools/hudson-devs-vote-for-name-change--oracle-declares-fork.html). ITWorld.
Retrieved May 31, 2018.
13. Krill, Paul (May 4, 2011). "Oracle hands Hudson to Eclipse, but Jenkins fork seems permanent" (https://www.infoworl
d.com/article/2624074/application-development/oracle-hands-hudson-to-eclipse--but-jenkins-fork-seems-permanent.h
tml). InfoWorld. Retrieved May 31, 2018.
14. "Jenkins organization on GitHub" (https://github.com/jenkinsci). Retrieved May 31, 2018.
15. "Hudson organization on Github" (https://github.com/hudson). Retrieved May 31, 2018.
16. Morris, Richard (July 17, 2012). "Kohsuke Kawaguchi: Geek of the Week" (https://www.red-gate.com/simple-talk/opini
on/geek-of-the-week/kohsuke-kawaguchi-geek-of-the-week/). Retrieved May 31, 2018.
17. https://jenkins.io/blog/2018/03/19/introducing-jenkins-x/
18. https://aws.amazon.com/blogs/opensource/continuous-delivery-eks-jenkins-x/
19. "Plugins - Jenkins - Jenkins Wiki" (https://wiki.jenkins-ci.org/display/JENKINS/Plugins#Plugins-Buildreports).
20. "Mailer - Jenkins - Jenkins Wiki" (https://wiki.jenkins.io/display/JENKINS/Mailer). wiki.jenkins.io. Retrieved
November 26, 2017.
21. "Credentials Plugin - Jenkins - Jenkins Wiki" (https://wiki.jenkins-ci.org/display/JENKINS/Credentials+Plugin).
wiki.jenkins-ci.org. Retrieved November 26, 2017.
22. "Monitoring external jobs - Jenkins - Jenkins Wiki" (https://wiki.jenkins.io/display/JENKINS/Monitoring+external+jobs).
wiki.jenkins.io. Retrieved November 26, 2017.
23. "Jenkins source code" (https://github.com/jenkinsci/jenkins/blob/a837b35ca9f11cba0f9aa57bd926f087e16c5497/core/
src/main/java/hudson/model/Slave.java#L93-L95). GitHub. Retrieved 2018-05-19.
24. "SSH Slaves plugin - Jenkins - Jenkins Wiki" (https://wiki.jenkins.io/display/JENKINS/SSH+Slaves+plugin).
wiki.jenkins.io. Retrieved November 26, 2017.

https://en.wikipedia.org/wiki/Jenkins_(software) 4/5
2/5/2019 Jenkins (software) - Wikipedia

25. "Javadoc Plugin - Jenkins - Jenkins Wiki" (https://wiki.jenkins.io/display/JENKINS/Javadoc+Plugin). wiki.jenkins.io.


Retrieved November 26, 2017.
26. http://truthisanoddnumber.com/?p=97
27. "Securing Jenkins" (https://jenkins.io/doc/book/operating/security/). jenkins.io. Retrieved 2016-09-13.
28. "Awards - Jenkins - Jenkins Wiki" (https://wiki.jenkins-ci.org/display/JENKINS/Awards). wiki.jenkins-ci.org. Retrieved
2016-09-13.

External links
Official website (https://jenkins.io/)
Moser, Manfred; O'Brien, Tim (2011-11-25). Hudson free book (http://www.eclipse.org/hudson/the-hudson-book/book-
hudson.pdf) (PDF). Oracle, Inc.
Kohsuke Kawaguchi (2011-02-08). "Jenkins creator Kohsuke Kawaguchi on The Changelog podcast talking about the
project origin and name change" (http://thechangelog.com/48). the changelog. Retrieved 2016-03-03.
Kohsuke Kawaguchi (2015-02-15). "7 Ways to Optimize Jenkins/Hudson (by its founder)" (https://web.archive.org/we
b/20111027084904/http://www.cloudbees.com/sites/default/files/whitepapers/7WaysToOptimizeJenkins.pdf) (PDF).
CloudBees. Archived from the original (http://www.cloudbees.com/sites/default/files/whitepapers/7WaysToOptimizeJe
nkins.pdf) (PDF) on 2011-10-27. Retrieved 2016-03-03.

Retrieved from "https://en.wikipedia.org/w/index.php?title=Jenkins_(software)&oldid=876488613"

This page was last edited on 2 January 2019, at 17:00 (UTC).

Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this
site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia
Foundation, Inc., a non-profit organization.

https://en.wikipedia.org/wiki/Jenkins_(software) 5/5

You might also like