What is Jenkins?
Jenkins is an award-winning, cross-platform, continuous integration and continuous delivery application that increases your productivity. Use Jenkins to build and test your software projects continuously making it easier for developers to integrate changes to the project, and making it easier for users to obtain a fresh build. It also allows you to continuously deliver your software by providing powerful ways to define your build pipelines and integrating with a large number of testing and deployment technologies.
Jenkins offers the following major features out of the box, and many more can be added through plugins:
- Easy installation: Just run
java -jar jenkins.war, deploy it in a servlet container. No additional install, no database. Prefer an installer or native package? We have those as well.
- Easy configuration: Jenkins can be configured entirely from its friendly web GUI with extensive on-the-fly error checks and inline help.
- Rich plugin ecosystem: Jenkins integrates with virtually every SCM or build tool that exists. View plugins.
- Extensibility: Most parts of Jenkins can be extended and modified, and it's easy to create new Jenkins plugins. This allows you to customize Jenkins to your needs.
- Distributed builds: Jenkins can distribute build/test loads to multiple computers with different operating systems. Building software for OS X, Linux, and Windows? No problem.
Note that many links below refer to Hudson, the original name of Jenkins.
- http://linsolas.developpez.com/articles/hudson/ (French)
- Kohsuke presenting Hudson in FOSDEM 2008 (video)
- Introduction and best practice by Kohsuke (Japanese)
- Kohsuke presenting Hudson in JavaZone 2009 (video)
- Continuous Integration with Hudson JavaOne 2009 presentation by Kohsuke (English)
- Continuous integration with Jenkins CI (Czech)
- DZone ref card for Jenkins (English)
You can launch Jenkins with Java Web Start if you want to give it a test drive. Once it launches, visit http://localhost:8080/ in your browser to get to the dashboard. Any configuration that you do with this Jenkins instance will be stored in
~/.jenkins, so your data will survive a Jenkins process restart.
You have several options for downloading and installing Jenkins:
- Use one of the platform-specific package/installer links on the Jenkins site to install Jenkins on your system.
- You can download jenkins.war directly and launch it by executing
java -jar jenkins.war. This is basically the same set up as the test drive, except that the output will go to console, not to a window. On Windows, you can even choose to install Jenkins as a service afterwards.
- If you have a servlet container that supports Servlet 2.4/JSP 2.0 or later, such as Tomcat 5, you can deploy jenkins.war as you would any WAR file. See this document for more about container-specific installation instruction.
Who is using it?
A lot of companies and organizations are using Jenkins. Most instances tend to run inside the firewall, but Google can tell you publicly visible instances. We also have some statistics collected from the anonymous usage survey here. The following case studies go into more detail how Jenkins is used:
- Case study of Sven Reimers
- Case study of Kohsuke Kawaguchi
- Case study of Rhett Sutphin
- Case study of Ned Collyer
- Case Study of Arnaud Lacour
- Case Study of JBoss
- Using Hudson with Tibco BusinessWorks
- Case Study of Xuggler and Red5
- Case Study of ADempiere
- we'd love to list yours here. Please talk to us.
Jenkins is distributed under the MIT License.