20 Jenkins CI/CD

Continuous integration / continuous delivery (CI/CD) is commonly used to ensure automatic building, tasting, and delivery of software. Tools such as Jenkins and Travis CI are often used for this purpose.

One challenge with CI/CD is that the CI/CD system is often required to have access to a specific software environment within which the new functionality should be run. Since the burden of maintaining a dedicated CI/CD server over time and over multiple versions of the target computational environment can be very high, it was decided to install Jenkins on IQdesktop itself. In this manner, each version of IQdesktop comes with its own CI/CD functionality and the whole needed tool ecosystem for all testing is readily available.

The Jenkins server can be started from command line by:

sudo service jenkins start

Stopping is done by:

sudo service jenkins stop

Jenkins running on an IQdesktop container charged with CI/CD of IQR Tools