Publication detail

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

JOHN, P. ZAKLOVÁ, K. LAZÚR, J. HYNEK, J. HRUŠKA, T.

Original Title

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

Type

article in a collection out of WoS and Scopus

Language

English

Original 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.

Keywords

Docker, CI/CD, Continuous Deployment, Raspberry Pi

Authors

JOHN, P.; ZAKLOVÁ, K.; LAZÚR, J.; HYNEK, J.; HRUŠKA, T.

Released

13. 11. 2024

Publisher

Institute of Electrical and Electronics Engineers

Location

Poprad

ISBN

979-8-3503-8767-4

Book

2024 IEEE 17th International Scientific Conference on Informatics

Pages from

105

Pages to

112

Pages count

8

URL

BibTex

@inproceedings{BUT193353,
  author="Petr {John} and Kristýna {Zaklová} and Juraj {Lazúr} and Jiří {Hynek} and Tomáš {Hruška}",
  title="A Self-Hosted Approach to Automatic CI/CD Using Open-Source Tools on Low-power Devices",
  booktitle="2024 IEEE 17th International Scientific  Conference on Informatics",
  year="2024",
  pages="105--112",
  publisher="Institute of Electrical and Electronics Engineers",
  address="Poprad",
  isbn="979-8-3503-8767-4",
  url="https://www.fit.vut.cz/research/publication/13274/"
}

Documents

Responsibility: Ing. Marek Strakoš