miniJen logo

miniJen

The Jenkins multi-architecture CPU instance

miniJen as a FOSDEM display on the booth

What is that contraption?

Nope, it’s not a robot of some sort, it won’t move by itself. It’s not Cerebro from Professor Xavier; no, it can’t fly either. What you’re looking at is a Jenkins “cluster” or “instance”. It is composed of a controller (the “brain” or conductor) and three agents (the workers or musicians if we continue a little further with the metaphor).

During FOSDEM, we displayed the aarch64 Jenkins controller dashboard on an another computer screen using the same Wi-Fi network.

This Jenkins instance was featured in the Hackaday blog post about FOSDEM.

These boards are not microcontrollers, they are miniature computers running GNU/Linux, like the infamous Raspberry Pi.

Hardware

The controller runs on a NanoPi R5S, sold as a router (thus the three RJ45 connectors).

NanoPi R5S pic from the manufacturer

It’s a 4GB aarch64 (or armv8) 4 cores running friendlyCore, a distribution from the manufacturer (friendlyElec) on a 5.10.x kernel.

The smallest board is a 4 cores arm32 agent with 512MB of RAM running Armbian with a 5.10.x kernel too.

NanoPi Duo2 pic from the manufacturer

It’s also a board coming from the friendlyElec manufacturer, the NanoPi Duo2.

The pink board next to the arm32 board is a RISC-V board running Armbian with just 1 core, 1GB of RAM and a 6.1.x kernel.

MangoPi MQ-Pro pic from the manufacturer

It’s a MangoPi MQ-Pro from MangoPi, one of the first RISC-V boards available.

The latest board just next to the RISC-V board with a slightly different shade of pink is an aarch64 board also from MangoPi.

MangoPi MQ-Quad pic from a taobao store

It is a 4 cores agent with 1GB of RAM running a fork of Armbian with kernel 5.16.x. It’s a MangoPi MQ-Quad.

Don’t try to fool me, there are no cables between the boards!

The boards all have Wi-Fi, and they are all connected to the same Wi-Fi network, provided by a router or my phone, depending on the location. You can spot their small Wi-Fi antennas hanging in the first pic, except for the router which has no integrated Wi-Fi (it uses a USB Wi-Fi dongle you can see in the pic). One day, the R5S controller will also be a router for miniJen, but for now, it’s just a Jenkins controller. How come the controller can contact and control the agents? We’re not using IP addresses, but hostnames ending in .local, thanks to the Avahi daemon.

What is that big box with cables?

PinePower powering very astemious boards

These boards are powered thanks to a Pine64 power supply. Most of the time, you can see they don’t use much current.

3D printed parts

The 3DDesign on the 2nd of February 2023

The frame looks strange, I know. I wanted to use a torus because it’s a cool-looking shape, and tentacles because it’s even more cool-looking than a torus.
It has been designed thanks to openSCAD, an … open-source computer-aided design tool & language (yes, there is such a thing as 3D Design as code), and printed at home on a printer running an open-source firmware, Marlin.

Should you want to replicate this at home, you can find the source code on my GitHub.

Genesis and near future

I have made a few live streams during the build of miniJen, and should do some more for the upcoming modifications. I also have a few videos on the same channel about Jenkins and other boards, so don’t hesitate to have a look.

miniJen logo