Abstract <p>This work focuses on the development of methods for automating the processes of building, testing, and deploying applied software for the distributed data processing system of the SPD experiment at the NICA collider. The study involves a systematic analysis of the existing development process, identifying key issues such as the high intensity of manual operations and the lack of a unified methodology. Based on the analysis of modern practices and technologies, methods have been developed, incorporating GitFlow, CI/CD tools, and containerization using Docker and Apptainer. These methods automate the creation of virtual environments, the building and testing of software modules, and the publication and deployment of images to container registries. They also automate the building and creation of containers with the version of the applied software and perform basic functional testing of the created image. The practical implementation of methods has been deployed in several projects within the SPD collaboration, leading to a reduction in preparation time for releasing new software versions, and improving the quality and reproducibility of software products.</p>

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Building, Testing and Deployment of SPD Applied Software

  • R. N. Korotkin,
  • A. A. Kozlovsky,
  • F. V. Prokoshin,
  • L. L. Simbiriatin

摘要

Abstract

This work focuses on the development of methods for automating the processes of building, testing, and deploying applied software for the distributed data processing system of the SPD experiment at the NICA collider. The study involves a systematic analysis of the existing development process, identifying key issues such as the high intensity of manual operations and the lack of a unified methodology. Based on the analysis of modern practices and technologies, methods have been developed, incorporating GitFlow, CI/CD tools, and containerization using Docker and Apptainer. These methods automate the creation of virtual environments, the building and testing of software modules, and the publication and deployment of images to container registries. They also automate the building and creation of containers with the version of the applied software and perform basic functional testing of the created image. The practical implementation of methods has been deployed in several projects within the SPD collaboration, leading to a reduction in preparation time for releasing new software versions, and improving the quality and reproducibility of software products.