It is straight forward to install a Gitlab runner with Docker executor on a
small Raspberry Pi. The runner can then be attached to a specific Gitlab project
or the whole Gitlab instance. I would, however, recommend disabling the option
“Run untagged jobs” and add a tag, e.g.,
So with the upfront cost of a Raspberry PI, you can build binaries for
arm in your CI. Check out this demo project (assuming your project can be
built on a Raspberry Pi and is not too large).
At the demo project, you’ll find two binary artifacts, one for
arm and one for
Unfortunately, Gitlab doesn’t yet support multi-arch Docker images in the registry. This means we cannot store the same image for different architectures under the same name and tag in Gitlabs container registry. For now, I’ve used DockerHub in the demo repository. Each runner automatically uses the Docker image which matches its architecture.