Online / 6 & 7 February 2021


MariaDB Buildbot Container environments

Containers are a central point for the MariaDB buildbot ( In fact, almost all our builds run in Docker containers. In this short presentation, I will talk about the container environment used in order to build MariaDB from source both on Linux and Windows. Then, I will present some of the challenges associated with running Windows in a Docker container and finally I will focus on some of the advantages of having a container based continuous integration infrastructure.

Due to their obvious advantages in terms of speed and flexibility, when developing our new continuous integration framework, we aimed to have an almost container only environment. Because of this, uses almost exclusively Docker containers for all the workers.

In this way, using a single dockerfile, we can define in an easy and concise manner all the required environments. The process begins with choosing the operating system. Here, we have quite a large pool of 15+ operating systems varying from different Linux distributions to Windows, each running in a Docker container. The process continues by installing the MariaDB build dependencies. In the end, the buildbot components are installed. Finally, we need to make sure that the buildbot worker process starts on container startup. In this way, we obtain a clean environment that can easily be deployed to different platforms.

One of the most challenging things was to run Windows in a Docker container. While the main steps remain the same as described above, I will talk about the main differences between the Windows dockerfile in comparison to a Linux one to emphasise the similarities and differences between the two.


Vlad Bogolin