Multi-arch software building and distribution is a complex and time-consuming maintenance task in which maintainer/developer need to compile somehow their software for all supported architectures, often, on a single machine. Automation solution such as Jenkins allows to automatize this task and facilitating continuous integration and continuous delivery. Multi-arch software building on a single machine involves the use of different techniques:
This post introduces the basic steps of setting up an automation server that allows to build and distribute multi-arch software using Jenkins and docker.
Update: The image is now available on Docker Hub at: https://hub.docker.com/r/xsangle/antosaio (image:
xsangle/antosaio:latest). This post has been updated with the latest instructions on how to host a local instance of AntOS VDE using Docker.
Building and setting up AntOS from scratch can be complex, as it requires configuring and connecting many backend and front-end components. To simplify the use of AntOS as a self-hosted environment, I have created a Docker image layer for an all-in-one AntOS system that contains everything needed to host AntOS on your server. This layer allows you to build a minimal Docker image with a working AntOS system out-of-the-box:
The Docker images are available at: https://hub.docker.com/r/xsangle/antosaio/
Follow the steps below to create an AntOS instance. First, create the working directory (e.g.,
/tmp/antos). All user data will be stored in this location. In this example, we use
/tmp/antos, but in a real scenario, you should use a permanent storage location.
# modify with your own working directory mkdir -p /tmp/antos
Run a container with docker
docker run \ -p 8080:80 \ --rm \ -v /tmp/antos:/app \ -e ANTOS_USER=demo \ -e ANTOS_PASSWORD=demo \ -it xsangle/antosaio:latest
Or with docker compose:
version: '3.7' services: antos: image: xsangle/antosaio:latest privileged: true restart: always ports: - 8080:80 container_name: antos_demo deploy: resources: limits: memory: 200m cpus: '0.5' hostname: demo environment: - ANTOS_USER=demo - ANTOS_PASSWORD=demo volumes: - /tmp/antos/:/app
docker compose up
AntOS is now accessible via
http://localhost:8080/os/ or using IP address
The docker image provides user with a ready to go (out-of-the-box) AntOS VDE system. This is useful in many user-cases: