Speaker
Prof.
Alexander Degtyarev
(Professor)
Description
The paper is focused on setting up a system of continuous integration within the available infrastructure of MPD Root project. The system’s deployment and debugging for MPD Root purposes are considered; the installation and setup of the required tools using GitLab, GitLab CI Runner and Docker are described; the test results of execution speed optimization are presented for the builds in question.
The deployment of various MPD Root configurations includes four major steps: installation of environmental components; creation of Root and FairRoot dependencies; building MpdRoot; and MpdRoot testing.
The load of a computing node employed in continuous integration was analysed in terms of performance of the central processor, RAM, and network connections. Various parameters of the build’s parallel launch on different computing nodes were considered.
As a result, we substantially decreased the build time: from 45 to 2-3 minutes. The optimization was ensured by means of caching the project’s dependencies and environmental components. Caching was done by Docker container manager. The build scripts and the container image configuration were stored in a repository. This allowed to alter the configuration of a build’s dependencies without the developer having to directly access GitLab CI Runner service.
Primary authors
Prof.
Alexander Degtyarev
(Professor)
George Fedoseev
(Saint-Petersburg State University)
Oleg Iakushkin
(Saint-Petersburg State University)
Dr
Vladimir Korkhov
(St. Petersburg State University)