Speaker
Description
This paper addresses the development of a method for automating the processes of building, testing, and deploying application software within the distributed data processing system of the SPD experiment at the NICA collider. The study involves a thorough analysis of the current development process, identifying major challenges such as the labor-intensive nature of manual tasks and the absence of a unified methodology.
Drawing on an analysis of contemporary practices and technologies, a comprehensive methodology has been created that integrates GitFlow, CI/CD tools, and containerization via Docker and Apptainer. This approach automates the creation of virtual environments, software module building and testing, as well as the publication and deployment of container images to registries.
The practical implementation of this methodology has been successfully applied across several projects within the SPD collaboration. As a result, there has been a notable reduction in the time required to release new software versions, alongside improvements in both the quality and reproducibility of the software products. This work demonstrates a significant enhancement of development processes within scientific collaborations and offers a model that can be adapted to other large-scale projects.