Skip to content

Continuous Integration with Jenkins

Sean Kelly edited this page Apr 16, 2019 · 1 revision

This document describes how we've set up and how to maintain the Jenkins continuous integration server for the Informatics Center of the Consortium for Molecular and Cellular Characterization of Screen-Detected Lesions.

Jenkins is recognized as one of the open-source leaders when it comes to continuous integration, unit/functional/integration tests, and automatic deployment of software systems—as well as for periodic maintenance tasks and other uses which are either triggered by a change to configuration management, time of day, manual triggering, or other events. EDRN and MCL use Jenkins for a variety of the aforementioned tasks.

Installation

Jenkins is currently installed on tumor.jpl.nasa.gov and is accessible (with a JPL login) at https://edrn-dev.jpl.nasa.gov/jenkins/.

The Informatics Center does not maintain the installation of Jenkins, just its configuration. For installation issues, refer these to the System Administrators at [email protected].

Please note: Jenkins includes the ability to upgrade itself in place. We prefer instead to let the System Administrators take care of this task so they can keep cognizant of hot-fixes, version status, etc., in order to keep our systems safe and secure. If you need a certain feature, security vulnerability closed, or bug fix provided by a later version of Jenkins, contact the System Administrators at [email protected].

Further note: Jenkins includes a number of a plug-ins that provide additional features such as support for programming languages, configuration management systems, build systems, Chuck Norris, and so forth. Plug-ins may be managed (upgraded, added, removed, etc.) by the Informatics Center through the "Manage Jenkins" menu item and do not involve the System Administrators

Configuring Projects

The artifacts that Jenkins manages are called projects. To configure an existing project:

  1. Visit https://edrn-dev.jpl.nasa.gov/jenkins/ and click "log in". Log in with your JPL username and password.
  2. Click an existing project in the list.
  3. Click "Configure".
  4. Make any changes as needed, then click "Save".

You can use the tabs at the top of the configuration screen to quickly move between sections. Bear in mind that some advanced settings require expanding a control to reveal those settings.

Creating new projects is easiest by copying an existing, similar project and making changes as needed. To do so:

  1. Click "New Item"
  2. In the "Copy from" box, type the name of an existing project. Jenkins will help by auto-completing the name for you.
  3. Click "OK".

Carefully check the settings, changing anything and everything necessary for the new artifact so it will not conflict with the project from which it was copied.

To remove a project:

  1. Visit the main project list
  2. Hover the mouse cursor of the name of the project to delete until a downward triangle ▼ appears.
  3. Click the ▼, then click Delete Project

Managing Jenkins

To configure and manage Jenkins itself, including its plugins:

  1. Visit the main project list
  2. On the left side, click "Manage Jenkins"
  3. Before doing anything else, click "Backup Manager"
  4. Click "Backup Hudson Configuration" (Hudson was the previous name of Jenkins)
  5. You may then configure thing as needed now that you have a backup