„drone/ContainerImageDocker.yml“ ändern

Baue Docker Container für mehrere Architekturen, falls DOCKER_MULTI_ARCH wahr ist.
This commit is contained in:
micha 2022-12-23 13:51:29 +00:00
parent b453904a4d
commit fdda1c2975

View File

@ -41,6 +41,7 @@
DEBUG_STEP: "false"
PUSH_TAGS: "true"
DOCKER_BUILDKIT: 1
DOCKER_MULTI_ARCH: "false"
commands:
- &ContainerImageDockerCommands |
@ -197,11 +198,30 @@
sleep 2
done
# start build
echo $ALL_ARGS | xargs docker build
# prepare multiarch build
if [[ "$DOCKER_MULTI_ARCH" == "true" ]]; then
# https://github.com/docker/buildx/issues/495#issuecomment-761562905
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
docker buildx create --name multiarch --driver docker-container --use
docker buildx inspect --bootstrap
fi
# multiarch build
if [[ "$DOCKER_MULTI_ARCH" == "true" ]]; then
if [[ "$PUSH_TAGS" == "true" ]]; then
echo $ALL_ARGS | xargs docker buildx build --platform linux/amd64,linux/arm64 --push
else
echo $ALL_ARGS | xargs docker buildx build --platform linux/amd64,linux/arm64
fi
fi
# normal builds
if [[ "$DOCKER_MULTI_ARCH" == "false" ]]; then
echo $ALL_ARGS | xargs docker build
fi
# push tags
if [[ "$PUSH_TAGS" == "true" ]]; then
if [[ "$DOCKER_MULTI_ARCH" == "false" ]] && [[ "$PUSH_TAGS" == "true" ]]; then
IFS=" "
echo "IMAGE_DESTS_PUSH=$IMAGE_DESTS_PUSH"
for TAG in $IMAGE_DESTS_PUSH; do