Jenkins is an open source Continuous Integration (CI) tool written in Java. The project was forked from Hudson after a dispute with Oracle.
Jenkins is an application that monitors executions of repeated jobs, such as building a software project or jobs run by cron. Among those things, current Jenkins focuses on the following two jobs:
- Building/testing software projects continuously. In a nutshell, Jenkins provides an easy-to-use so-called continuous integration system, making it easier for developers to integrate changes to the project, and making it easier for users to obtain a fresh build.
- Monitoring executions of externally-run jobs, such as cron jobs and procmail jobs, even those that are run on a remote machine. For example, with cron, all you receive is regular e-mails that capture the output, and it is up to you to look at them diligently and notice when it broke.
It supports SCM tools including 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.
Jenkins offers the following features:
- Easy installation
- Easy configuration
- Change set support
- Permanent links
- RSS/E-mail/IM Integration
- After-the-fact tagging
- JUnit/TestNG test reporting
- Distributed builds
- File fingerprinting
- Plugin Support
Jenkins is free software, jenkins-ci.org.