CI/CD Tools
2021-02-08
Main goal of these notes is to find something which works well together with Gitea
Agola
- https://agola.io
- Integrations with gitea, gitlab, github
- Built for scalability
- Needs an etcd cluster and a shared file system
- Minimum number of nodes? (normally you would use at least three for etcd)
- No installation instruction in the docs (the chapter “Installation” starts with the configuration)
Buildbot
- https://buildbot.net/
- Written in Python
- gitea plugin available: https://github.com/lab132/buildbot-gitea
- Minimum one machine (for master and worker), can scale to several masters and many workers per master.
- Config-Files are Python source
- Can test changes which aren’t committed yet.
- Configuration of “builders” (the tasks to be done if something changes) happens at the master, not in the git repo.
- Authentication? LDAP doesn’t seem to supported (which is weird because there is a LdapUserInfo)
- I don’t see a way to configure non-linear (fan-in, fan-out) dependencies
- Quite a few builtins for deploying stuff, deb and rpm support, fs copies and HTTP requests, git commits and tags, …
mvoCI
Gitlab
- has integrated CI/CD pipeline which works well
- can work with external repos, but only in the Premium version