Introduction
A simple build server, able to run with low amounts of ram. Web UI is available. Project repository: https://github.com/pjotrscholtze/go-buildserver
Rationale
Before I used both Jenkins , and Drone , in non-cloud environments. While Drone is nice it is for some projects as it allows running each build step in a separate Kubernetes pod. It is also more bureaucratic, and thus slow to start. In smaller projects this can be a bottleneck, Jenkins is then faster, but still is not the fastest solution on limited resources, and also uses a decent chunk of RAM e.g. 500MB. This can be reduced of course a bit by running, the least amount of plugins as possible.
Requirements
Since I have very small requirements for most of the projects I play with, I thought let’s create a small service for this. Hence, this project. The functional requirements I had (at least right now in the beginning), are:
- A job should be able to run periodically
- A job should be able to be triggered with a webhook
- I want to see the results of the last build
- A clone should be made of the repository related to the job
- A repository should be able to have multiple pipelines
Screenshots
Below are some screenshots, of the web UI.