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