Recently, the needs of the Adetta build process have become a bit more involved and we have moved away from using GitLab shared runners to hosting our own on a Raspberry Pi 4. Let me explain a bit more.
When I say more involved, at first this was about the build process needing access to a library that is not and cannot be publicly available due to licensing restrictions. So, I thought this was a good time to move away from GitLab’s shared runners and provide our own, hosted on a machine with the necessary access and control.
Initially, I set up a runner on an AWS EC2 instance that we already had in use. This was easy enough and working just fine. Job done. Or so I thought.
Shortly after this it turned out that the build process became a bit more resource hungry than the meagre EC2 instance with 1GB memory could provide. We could have moved to a slightly bigger EC2 instance or use this as an opportunity to get my hands on a Raspberry Pi. Something I had been planning to do for a while. And now I had a good reason.
The Raspberry Pi 4 comes with 4GB memory and for the moment this is all we need. I ordered it from PiHut with next day delivery and was soon able to set it up as the new GitLab runner for Adetta. Beautiful.
What have I learned in the process?
- Using our own runners for GitLab CI/CD.
- Setting up a Raspberry Pi to host such a runner.
- Finding a solution for our initial non-public library dependency.