Submitter: | Corne Lukken |
Description: | Gitlab offers us extensive automation capability, enabling continuous integration (CI) and continuous delivery (CD). Many teams across ASTRON, JIVE and perhaps even NOVA are already intimately familiar with these facilities called jobs, pipelines and runners. The concept of CI/CD enables our institutes to verify our software and firmware using tests and builds as well as setup acceptance environments and deploy new versions to production. Typically, these pipelines are isolated across software components. Resulting in difficulties executing pipelines in a specific order. This could potentially lead to deploying components without all the requirements being installed. Luckily, Gitlab offers multi project pipelines through triggers. These triggers allow to chain together the pipelines defined across multiple software components, passing variables and data to its children as needed. Through this facility team Ruby is able to automate the software installation from hardware delivery to fully running station software with the push of a single button. Overall this setup still allows for fine grained control, by manually deploying individual pipelines when required, while also adhering to the single source of truth principle. Individual software components retain the knowledge about their deployment step and contain secrets such as SSH or API keys. While, overarching pipelines have knowledge about system overview as well as the order of deployment steps. In this daily image we illustrate these multi-project pipelines. Should you have any questions how to set this up for your own team or group do not hesitate to contact Corne Lukken on slack or send an email to lukken@astron.nl |
Copyright: | Public Domain |
Tweet | ![]() |