LightCI
Project Details
Technologies used: Java, Angular, TypeScript
LightCI is a lightweight modular continuous integration solution with an Angular based web front-end. The project originated from an idea of running a small CI server on the Raspberry Pi. Due to RPi's performance and RAM capacity running Jenkins wasn't an option, so I decided to create an original solution with the primary goal of ensuring good performance even on low-spec servers.
The way I approached the performance problem was by moving all of the UI rendering to the Angular front-end, doing the heavy work in the browser, while the backend runs a simple Java NanoHTTPD based web API providing data serialized to JSON and serving the static resources. LightCI features a minimal core feature set, providing a modular plugin API for extensibility. In the current state the project is already usable, but still lacks some of the planned features. Since at the moment I am not using the Raspberry Pi, the development of this project is halted, but I will surely come back and finish it eventually.
Built-in support for:
- Git
- Git Webhooks
- Gradle build system
- Custom script execution