siamCse21.pdf (5.69 MB)

CI Tools as Lego Blocks: Build Your Ideal Custom Solution

Download (5.69 MB)
posted on 2021-03-10, 14:30 authored by Jason GatesJason Gates, David Collins, Josh Braun

Continuous integration (CI)—the ability to test and merge changes into the main development branch multiple times per day—is growing in importance in the computational science and engineering (CSE) arena. The number of available CI tools continues to grow, and they all have their strengths and weaknesses. Many services try to be a one stop shop, e.g., “Is your code on GitHub? Just use GitHub Actions”. Unfortunately the complexities of the CSE environment often mean an off-the-shelf tool isn’t a 100% solution. Rather than despairing, teams should feel empowered to treat these CI tools as Lego blocks that can be connected together in whatever ways you like to build the CI solution that works best for you. Make use of the strengths of particular CI tools, where appropriate, and avoid their weaknesses, if possible. In this talk, we’ll walk you through how we did that for one team using Jenkins, OpenStack, and GitLab CI/CD.

A talk presented at the SIAM CSE21 conference, MS298: Wash Your Hands, Wear a Mask, Keep the Bugs Out.