Publication Details

A Self-Hosted Approach to Automatic CI/CD Using Open-Source Tools on Low-power Devices

JOHN Petr, ZAKLOVÁ Kristýna, LAZÚR Juraj, HYNEK Jiří and HRUŠKA Tomáš. A Self-Hosted Approach to Automatic CI/CD Using Open-Source Tools on Low-power Devices. In: 2024 IEEE 17th International Scientific Conference on Informatics. Poprad: Institute of Electrical and Electronics Engineers, 2024, pp. 105-112. ISBN 979-8-3503-8767-4.
Czech title
Self-hosted přístupy k automatickému CI/CD s použitím open-source nástrojů na zařízeních s nízkou spotřebou
Type
conference paper
Language
english
Authors
John Petr, Ing. (DIFS FIT BUT)
Zaklová Kristýna, Ing. (OIP FIT BUT)
Lazúr Juraj, Ing. (DIFS FIT BUT)
Hynek Jiří, Ing., Ph.D. (DIFS FIT BUT)
Hruška Tomáš, prof. Ing., CSc. (DIFS FIT BUT)
Keywords

Docker, CI/CD, Continuous Deployment, Raspberry Pi

Abstract

The process of software development has widely adopted Continuous Integration and delivery (CI/CD), offering a comprehensive approach to streamlining the development process. Both features are commonly offered by third-party services or cloud-hosted environments, like Amazon AWS or GitHub. While these offerings are widely available and perfect for large projects and companies, they may not be suitable for smaller
projects. Factors like the desire to maintain code and deployment locally or cost considerations can drive the search for alternative solutions. This paper presents an infrastructure mostly based on open-source services that address these specific needs. It is suitable for both development and the automatic deployment of small, locally deployed projects. The solution underwent six months of testing in a lab environment on a low-power device, namely the Raspberry Pi 4B, which was used to both build new
versions of the software and host it. The solution leverages the GitHub self-hosted runner to build Docker images from the code directly on the target device. The images are then pushed into a local Docker Registry. This ensures that the code can be used on multiple architectures, namely the arm64, and amd64, by simply pulling an appropriate image that is cross-built thanks to Docker buildx. The built images can then be automatically updated to deploy or be deployed on different hardware. The solution is suitable for small projects or teams with constrained
budgets thanks to the self-hosting of all the components, the low purchase price, and the power efficiency of low-power devices
like the Raspberry Pi.

Published
2024
Pages
105-112
Proceedings
2024 IEEE 17th International Scientific Conference on Informatics
Conference
2024 IEEE 17th International Scientific Conference on Informatics, Poprad, SK
ISBN
979-8-3503-8767-4
Publisher
Institute of Electrical and Electronics Engineers
Place
Poprad, SK
BibTeX
@INPROCEEDINGS{FITPUB13274,
   author = "Petr John and Krist\'{y}na Zaklov\'{a} and Juraj Laz\'{u}r and Ji\v{r}\'{i} Hynek and Tom\'{a}\v{s} Hru\v{s}ka",
   title = "A Self-Hosted Approach to Automatic CI/CD Using Open-Source Tools on Low-power Devices",
   pages = "105--112",
   booktitle = "2024 IEEE 17th International Scientific  Conference on Informatics",
   year = 2024,
   location = "Poprad, SK",
   publisher = "Institute of Electrical and Electronics Engineers",
   ISBN = "979-8-3503-8767-4",
   language = "english",
   url = "https://www.fit.vut.cz/research/publication/13274"
}
Back to top