Jenkins Configuration as Code

We will look at how Jenkins is deployed at Ouranos.

Ouranos is using Jenkins to run automated nightly integration tests on our PAVICS platform. The tests are actually regular Jupyter notebooks so we achieve two goals at once:

  • Tutorials notebooks
  • Integration tests

This presentation and all the code used can be found at https://github.com/Ouranosinc/jenkins-config/tree/master/canarie-presentation.

By Long Vu, software developer at Ouranos.

Presentation at the Canadian Research Software Conference, May 28, 2019.

Jenkins without Configuration as Code plugin

Jenkins without Configuration as Code plugin animated gif

  • No automated configuration sync between Production and Staging instances
  • Very time consuming to manually reconfigure a fresh instance to replicate exactly the same configurations
  • No tracking who changed which config, when, why

Jenkins using Configuration as Code plugin

Jenkins using Configuration as Code plugin animated gif

  • Fixes all the previous problems
  • Fits the DevOPS way of "Infrastructure as Code"