Making Continuous Integration a Reality for Control Systems on a Large Scale Basis
A.Buteau*, G.Viguier, M.Ounsy, S.Dupuy, S.Le, V.H.Hardion (SOLEIL)
To support and maintain the Control Systems of a Synchrotron Source, complexity can become quickly hardly manageable due to the large number of software components and of different deployed versions. At SOLEIL, it appeared to us very early that a strategic goal was to be able to deploy, everywhere and whenever needed, the same version of software packages . A rigorous development organization and configuration management make possible the production of software packages based on release tags put by developers on each software module. Classical open source continuous integration tools (MAVEN, CONTINUUM) on the Java side, and home made batch scripts on the C++ side, allow to produce packages. The packages are deployed during each Machine shutdown on the almost 20 SOLEIL control systems, via system tools (rsync, ...). To make acceptable for people in charge of installations (Accelerators or Beamlines) operation, the continuous software changes rhythm, good communication and tests organization are very important to face with software regressions or local incompatibility. Our conclusion will give feedback of 2 operation years using this "software continuous integration" scheme.