Lightweight CI/CD Tool (Targeting Docker on a Raspberry Pi)

GaussianInteger@lemmy.world to Selfhosted@lemmy.world – 14 points –

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.

10

You are viewing a single comment

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):

https://docs.gitea.com/next/usage/actions/overview

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 yet, 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.