A heads up for people interesting in building software (or docker images) for ARM devices. I ported Drone and the most important plugins to the armhf architecture. You should be able to run this version on your ARM-based server if it has a working current Docker version (possibly >=1.9).
You can run the armhf Drone image as described for the original x86 version. Just replace the image name
Also, for building projects, you need to specifiy base images which were built for armhf. You can find
alpine and language-specific images like
golang in the
armhfbuild organization on the Docker Hub (sorry, not allowed to link). You can in many cases just prefix your regular x86 base image name with
armhfbuild/, and it should work. Of course, feel free to use other ones / your own ones instead.
Not all Drone plugins have been ported (yet). The current list can be seen at the
armhf-drone-plugins Github organization and the according organization at Docker Hub. This organization is currently hardcoded as the official plugin source in the fork.
Porting Drone mostly meant replacing base images and hard-coded image names in the source code. Currently,
drone-exec are real forks. This situation will hopefully be superseded by a pull request which makes those names configurable (still to come).
In practice, with a 1.10.0 development build of Docker, this version works quite well for me (Odroid XU-4, Kernel 4.2, overlayfs driver). That said, there are glitches with the Docker publish step. The process often stops shortly after launching the docker daemon, returning a zero return code, thus making the build seem successful. This possibly happens because the
drone-docker image for ARM uses a port of the
docker:1.9.1-dind image instead of
rancher/docker:1.9.1, as the x86 Drone does. (The officlal image seemed much easier to port.)
Would appreciate people trying this out and giving some feedback.
On a larger scale, this effort could be seen as a stop-gap solution. Docker will likely employ real ARM support and multi-arch images in the not-too-distant future. Let's hope for that!