Anybody have recommendations for a lightweight CI/CD service that I can run on a Raspberry Pi with 8GB memory?
I’d like to run it in Docker, and I’m the only client — it doesn’t matter to me if builds have to queue/if there’s only one worker “node” on the pi, but I just want to be able to do github action-like stuff with my gitea server.
I run drone.io with gitea, it’s nice, doesn’t do much when it’s not working.
Gitea added their own CI tooling that is configured like GitHub actions as well - I haven’t tried it yet though.
I had no idea Gitea was adding actions! I’m very excited! It doesn’t look like it’s out in the current release version (1.19.3):
It’s available on 1.19.3. Using it with my Gitea instance currently. Behind a flag in the config.ini I believe. Not at all stable yet, and not feature complete compared with Github Actions, but I’ve done a bit of testing with it and it’s been pretty smooth sailing.
I didn’t realize that gitea was adding actions either — it does look like their current setup expects the actions runner to be outside of docker, though: https://blog.gitea.io/2023/03/hacking-on-gitea-actions
That’s not to say it would be impossible to wrap it in a container, but their claim that they “recommend running it on a separate server from the gitea server for performance reasons” makes me wonder if it’ll work on my little pi.
I think it is in the current version just mostly undocumented and behind flags to turn it on. It definitely is in the latest Fogejo with flags as I described, which I migrated my gitea to. I haven’t had a chance to play with it yetm but am looking forward to it. I love github actions and it is super similar.
Update — I’m trying Gitea Actions. There’s still a little weirdness with some actions (e.g. the checkoutv3 action doesn’t work if your git server has a path prefix like http://my.server/some_git_specific_prefix/[rest of normal path]), but overall it seems to be working nicely.
I’m currently running the act_runner daemon as a service on the bare raspberry pi/not in docker, since it has to interface with the docker socket anyway and there’s no official act_runner docker image from gitea/I wouldn’t be getting any “ease of update” benefits.
You can try Woodpecker CI/CD https://woodpecker-ci.org/ It is a opensource fork of droneCI https://woodpecker-ci.org/faq
I have a small K3s cluster as well as a separate docker server. The docker server runs on a 2012 Mac mini so I think it’s more out of date than a RPi. All that to say, no issues running 14 docker containers like Sonarqube, gitea, Jenkins, Maven, etc.
You could try this for maximum flexibility: https://github.com/lab132/buildbot-gitea