Jenkins Extensible Continuous Integration Engine
Jenkins is an open-source continuous integration system. The Jenkins project is led by Kohsuke Kawaguchi and hosted at http://jenkins-ci.org/.
Jenkins provides the infrastructure for managing automated distributed software build and test processes. It can function both as a Continuous Integration (CI) server and as an advanced cron replacement. In CI mode, Jenkins jobs will periodically poll source code management (SCM) repositories and trigger the build if the state of the project has changed (including if any Subversion externals the project depends on have changed). Jenkins also supports time-based job triggers, allowing it to completely replace the functionality in cron. In addition, by suitably choosing the SCM polling period, Jenkins can support more intelligent nightly / weekly builds, by only running a new build if the project has actually changed.
Unlike cron, Jenkins also actively manages the build resources and prevents different jobs from overwhelming any computer. It manages a collection of build slaves and distributes triggered jobs across the slaves. Further, each slave may be tagged with labels, and each job may be tied to specific labels (e.g. Windows, Linux32, Linux64, Matlab, etc.).
Our master Jenkins instance is hosted on the Sandia internal web at https://jenkins.sandia.gov/ (SNL internal access only). The master Jenkins instance coordinates builds using over two dozen build slaves, including center build servers, individual developer workstations, virtual machines, and capacity computing clusters. Selected jobs for open source projects are automatically mirrored to our public Jenkins instance at https://software.sandia.gov/hudson using the Build Publisher plug-in.
- The Jenkins project Wiki.
- Our Jenkins configuration
- For support or assistance, see the contacts page.