Tips on CI
If you’re looking for a self-hosted OSS free CI, this may give you some tips.
Requirements:
- Needs to be self-hosted, open-source and free
- Should use as few RAM as possible
- Should be able to periodically poll git repo
Evaluated CIs from awesome-ci:
- Jenkins - the default choice. Can be configured to use 512m of RAM only.
- Install Jenkins on Linux
- Note that you configure Jenkins via
systemctl edit jenkins
, then restart viasystemctl restart jenkins
. - Logs accessible via
journalctl -u jenkins -f
- CircleCI - self-hosted option is not free. Skip.
- Concourse-CI: The
fly
binary is suspicious; the YAML config is weird; simple git build example missing. Skip. - AppCircle.io: self-hosted option is not free. Skip.
- Agola.io: PITA top setup, you need etcd cluster, object storage and whatever. Skip.
- OpenShift gitops? Based on huge OpenShift and ‘only’ adds in Argo CD. Skip.
- TeamCity - not bad, needs server+agent to be up-and-running but “only” uses 2G server + 700mb agent. Pass.
- Laminar - simple and awesome but can’t poll git repo periodically.
- Maybe a small kotlin-native repo poller which calls
laminarc queue foo
? - Or a git pulling build bot.
- Pass, but later since it needs git build bot.
- Maybe a small kotlin-native repo poller which calls
Written on February 2, 2023