3

I'm developing some C++ projects. I have some SBCs (Raspberry Pi 3, Odroid n2) and I wanted to use one of them (odroid n2 is most powerful so it's the obvious choice) as a private buildserver.

I want it to:

  • once a day(night) build the project (cmake/C++)
    • run the tests and if something is wrong, send me an email.
    • build packages (deb,tar.gz,exe) for all target operating systems (linux, windows) and architectures (amd64, arm64, armhf)
  • it should be easy to configure (if I have to write scripts to do the above things, I might as well do that and run it from cron...)

I've tried installing Gitlab, but it doesn't have the packages for arm64 and I didn't want to build it from source (I expect problems and I don't have that much free time). Jenkins also doesn't seem to be lightweight.

  • What does "doesn't seem to be lightweight" mean? The Bitnami's Jenkins recommentation was 1 GB of RAM if I remember correctly, but I guess you'll be fine with few hundred megabytes -- just set them up in java launch options. And it's not CPU heavy, the compilation processes would need much more. – Nakilon Jun 19 at 21:45
  • RAM is a problem on those small computers. GCC uses a lot of ram to compile projects so giving even 512 MB to Jenkins will slow down compilation considerably. – stilgar Jun 21 at 11:48
1

Drone.io is pretty lightweight CI server.

It is distributed as docker image and it is easy to setup.

It also allows you to keep pipelines as code. In their guides there are examples for several languages, including C++

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.