update build process for multiarch images

This commit is contained in:
Florian Schwab 2019-10-25 14:12:20 +02:00
parent 2ce5f37983
commit 409ea1dcac
2 changed files with 5 additions and 23 deletions

View file

@ -6,52 +6,40 @@ stages:
- build
- release
variables:
QEMU_VERSION: v4.1.0-1
before_script:
- mkdir -p /root/.docker || true
- echo '{"experimental":"enabled"}' > /root/.docker/config.json
- docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
build-amd64:
stage: build
script:
- wget https://github.com/multiarch/qemu-user-static/releases/download/${QEMU_VERSION}/qemu-x86_64-static -O qemu-x86_64-static
- chmod 554 qemu-*-static
- docker run --rm --privileged multiarch/qemu-user-static:register --reset
- docker build --build-arg ARCH=amd64 -t ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-amd64 .
- docker push ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-amd64
build-arm32v6:
stage: build
script:
- wget https://github.com/multiarch/qemu-user-static/releases/download/${QEMU_VERSION}/qemu-arm-static -O qemu-arm-static
- chmod 554 qemu-*-static
- docker run --rm --privileged multiarch/qemu-user-static:register --reset
- docker build --build-arg ARCH=arm32v6 -t ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm32v6 .
- docker push ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm32v6
build-arm32v7:
stage: build
script:
- wget https://github.com/multiarch/qemu-user-static/releases/download/${QEMU_VERSION}/qemu-arm-static -O qemu-arm-static
- chmod 554 qemu-*-static
- docker run --rm --privileged multiarch/qemu-user-static:register --reset
- docker build --build-arg ARCH=arm32v7 -t ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm32v7 .
- docker push ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm32v7
build-arm64v8:
stage: build
script:
- wget https://github.com/multiarch/qemu-user-static/releases/download/${QEMU_VERSION}/qemu-aarch64-static -O qemu-aarch64-static
- chmod 554 qemu-*-static
- docker run --rm --privileged multiarch/qemu-user-static:register --reset
- docker build --build-arg ARCH=arm64v8 -t ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm64v8 .
- docker push ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-arm64v8
release:
stage: release
before_script:
- mkdir -p /root/.docker || true
- echo '{"experimental":"enabled"}' > /root/.docker/config.json
- docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}
script:
- docker pull ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-amd64
- docker tag ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_ID}-amd64 ${CI_REGISTRY_IMAGE}:latest-amd64

View file

@ -2,9 +2,6 @@
ARG ARCH=amd64
FROM $ARCH/alpine:3.10
# Prepare multi arch build
COPY qemu-* /usr/bin/
# Maintainer
MAINTAINER Florian Schwab <me@ydkn.io>
@ -14,9 +11,6 @@ RUN apk --no-cache --no-progress add avahi avahi-tools
# disable d-bus
RUN sed -i 's/.*enable-dbus=.*/enable-dbus=no/' /etc/avahi/avahi-daemon.conf
# cleanup
RUN rm -f /usr/bin/qemu-*-static
# volumes
VOLUME ["/etc/avahi/services"]