This is Docker based project designed for building large projects and keeping a history of all the builds.
This projects is based on 6 services :
- webserver
- influxdb
- grafana
- gcc-builder
- clang-builder
- parser
It consists of a frontend and a backend written in flash. It communicates with InfluxDB service to store authentication information and allow uploading of zip archives, specifying which compiler would users like to use to build their projects.
The archives should contain the Makefile to build the sources.
Requirements:
- python3
- flask
- influxdb
Use the following link in order to install and get used with IndluxDB: https://www.influxdata.com/blog/getting-started-python-influxdb/
Service based on InfluxDB is used to store authentication information and build results for each user, that are displayed in Grafana.
Connected to InfluxDB to display a dashboard containing build information.
Two containers based on gcc and clang compilers that polls the files uploaded on the webserver, unzip, build the project and create a log file that will end up being processed by the parser service.
Docker images for gcc/clang environment:
docker pull gcc
docker pull rsmmr/clang
Poll the result files generated by builders, inspect the content and add the data to InfluxDB.