Problem overview

The core of their system was programmed in C/C++ and had to run on various platforms, which required compiling each new version on several different architectures. This task required advanced knowledge and created a bottleneck. In turn, the company needed to implement its platform with Docker.

Solution overview

We managed to completely automate the generation of executables for all platforms, so today the task can be performed by a person without knowledge of C/C++. This substantially streamlined the process and freed up time of their more experienced talents. In addition, we generated a platform's demo with Docker, which required adapting its architecture.

Detailed solution

Forming an excellent team with Veritran, we jointly defined a semantic version for the platform and its components, establishing the dependencies that would simplify the compatibility management. In the same way, we standardized coding styles, we managed to migrate the versioning system from SVN to GIT, and we defined a workflow adapted to Veritran’s needs. In turn, we implemented different pipelines with Gitlab CI and Jenkins to automate the task of generating executables for different architectures, including AIX, Solaris, and various versions of Red Hat and CentOS. The generated executables are automatically stored in a centralized repository, implemented with Nexus, with all the versioning conventions defined. We also worked to assemble the existing platform with Docker, as well as the new components that have been developed and, later, we accompanied the process of adopting Kubernetes and adapting the platform as SaaS on AWS.