Cargando…
LHCb continuous integration and deployment system: a message based approach
A continuous integration system is crucial to maintain the quality of the 6 millions lines of C++ and Python source code of the LHCb software in order to ensure consistent builds of the software as well as to run the unit and integration tests. Jenkins automation server is used for this purpose. It...
Autores principales: | , , , |
---|---|
Lenguaje: | eng |
Publicado: |
2019
|
Materias: | |
Acceso en línea: | https://dx.doi.org/10.1051/epjconf/201921405001 http://cds.cern.ch/record/2700233 |
_version_ | 1780964602517913600 |
---|---|
author | Chitic, Stefan-Gabriel Couturier, Ben Clemencic, Marco Closier, Joel |
author_facet | Chitic, Stefan-Gabriel Couturier, Ben Clemencic, Marco Closier, Joel |
author_sort | Chitic, Stefan-Gabriel |
collection | CERN |
description | A continuous integration system is crucial to maintain the quality of the 6 millions lines of C++ and Python source code of the LHCb software in order to ensure consistent builds of the software as well as to run the unit and integration tests. Jenkins automation server is used for this purpose. It builds and tests around 100 configurations and produces in the order of 1500 built artifacts per day which are installed on the CVMFS file system or potentially on the developers’ machines. Faced with a large and growing number of configurations built every day, and in order to ease inter-operation between the continuous integration system and the developers, we decided to put in place a flexible messaging system. As soon as the built artifacts have been produced, the distributed system allows their deployment based on the priority of the configurations. We will describe the architecture of the new system, which is based on RabbitMQ messaging system (and the pika Python client library), and uses priority queues to start the LHCb software integration tests and to drive the installation of the nightly builds on the CVMFS file system. We will also show how the introduction of an event based system can help with the communication of results to developers. |
id | oai-inspirehep.net-1761012 |
institution | Organización Europea para la Investigación Nuclear |
language | eng |
publishDate | 2019 |
record_format | invenio |
spelling | oai-inspirehep.net-17610122022-08-10T12:24:09Zdoi:10.1051/epjconf/201921405001http://cds.cern.ch/record/2700233engChitic, Stefan-GabrielCouturier, BenClemencic, MarcoClosier, JoelLHCb continuous integration and deployment system: a message based approachComputing and ComputersA continuous integration system is crucial to maintain the quality of the 6 millions lines of C++ and Python source code of the LHCb software in order to ensure consistent builds of the software as well as to run the unit and integration tests. Jenkins automation server is used for this purpose. It builds and tests around 100 configurations and produces in the order of 1500 built artifacts per day which are installed on the CVMFS file system or potentially on the developers’ machines. Faced with a large and growing number of configurations built every day, and in order to ease inter-operation between the continuous integration system and the developers, we decided to put in place a flexible messaging system. As soon as the built artifacts have been produced, the distributed system allows their deployment based on the priority of the configurations. We will describe the architecture of the new system, which is based on RabbitMQ messaging system (and the pika Python client library), and uses priority queues to start the LHCb software integration tests and to drive the installation of the nightly builds on the CVMFS file system. We will also show how the introduction of an event based system can help with the communication of results to developers.oai:inspirehep.net:17610122019 |
spellingShingle | Computing and Computers Chitic, Stefan-Gabriel Couturier, Ben Clemencic, Marco Closier, Joel LHCb continuous integration and deployment system: a message based approach |
title | LHCb continuous integration and deployment system: a message based approach |
title_full | LHCb continuous integration and deployment system: a message based approach |
title_fullStr | LHCb continuous integration and deployment system: a message based approach |
title_full_unstemmed | LHCb continuous integration and deployment system: a message based approach |
title_short | LHCb continuous integration and deployment system: a message based approach |
title_sort | lhcb continuous integration and deployment system: a message based approach |
topic | Computing and Computers |
url | https://dx.doi.org/10.1051/epjconf/201921405001 http://cds.cern.ch/record/2700233 |
work_keys_str_mv | AT chiticstefangabriel lhcbcontinuousintegrationanddeploymentsystemamessagebasedapproach AT couturierben lhcbcontinuousintegrationanddeploymentsystemamessagebasedapproach AT clemencicmarco lhcbcontinuousintegrationanddeploymentsystemamessagebasedapproach AT closierjoel lhcbcontinuousintegrationanddeploymentsystemamessagebasedapproach |