From 08cac1ada382fb4d9f37a3ffe1d80451263ced68 Mon Sep 17 00:00:00 2001 From: Stefan Tzeggai Date: Wed, 11 Sep 2024 14:53:40 +0200 Subject: [PATCH 1/2] Build and release Geoserver multi-platform for ARM64 and AMD64. This requires docker-daemon to be setup for multi-platform, where QEMU is the slowest but simplest solution: https://docs.docker.com/build/building/multi-platform/#qemu --- build/release.sh | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/build/release.sh b/build/release.sh index 79cc3a3..4be4ae4 100755 --- a/build/release.sh +++ b/build/release.sh @@ -49,6 +49,9 @@ else fi fi +# Prerequisite for Multi-Arch via QEMU: +docker run --privileged --rm tonistiigi/binfmt --install all + echo "Release from branch $BRANCH GeoServer $VERSION as $TAG" # Go up one level to the Dockerfile @@ -60,9 +63,10 @@ if [[ $1 == *build* ]]; then echo " nightly build from https://build.geoserver.org/geoserver/$BRANCH" echo if [[ "$BRANCH" == "main" ]]; then - echo "docker build --build-arg GS_VERSION=$VERSION --build-arg GS_BUILD=$BUILD -t $TAG ." + echo "docker build --platform linux/amd64,linux/arm64 --build-arg GS_VERSION=$VERSION --build-arg GS_BUILD=$BUILD -t $TAG ." # todo: --no-cache-filter download,install docker build \ + --platform linux/amd64,linux/arm64 \ --build-arg WAR_ZIP_URL=https://build.geoserver.org/geoserver/main/geoserver-main-latest-war.zip \ --build-arg STABLE_PLUGIN_URL=https://build.geoserver.org/geoserver/main/ext-latest \ --build-arg COMMUNITY_PLUGIN_URL=https://build.geoserver.org/geoserver/main/community-latest \ @@ -70,8 +74,9 @@ if [[ $1 == *build* ]]; then --build-arg GS_BUILD=$BUILD \ -t $TAG . else - echo "docker build --build-arg GS_VERSION=$VERSION --build-arg GS_BUILD=$BUILD -t $TAG ." + echo "docker build --platform linux/amd64,linux/arm64 --build-arg GS_VERSION=$VERSION --build-arg GS_BUILD=$BUILD -t $TAG ." docker build \ + --platform linux/amd64,linux/arm64 \ --build-arg WAR_ZIP_URL=https://build.geoserver.org/geoserver/$BRANCH/geoserver-$BRANCH-latest-war.zip \ --build-arg STABLE_PLUGIN_URL=https://build.geoserver.org/geoserver/$BRANCH/ext-latest \ --build-arg COMMUNITY_PLUGIN_URL=https://build.geoserver.org/geoserver/$BRANCH/community-latest \ @@ -80,8 +85,9 @@ if [[ $1 == *build* ]]; then -t $TAG . fi else - echo "docker build --build-arg GS_VERSION=$VERSION --build-arg GS_BUILD=$BUILD -t $TAG ." + echo "docker build ---platform linux/amd64,linux/arm64 -build-arg GS_VERSION=$VERSION --build-arg GS_BUILD=$BUILD -t $TAG ." docker build \ + --platform linux/amd64,linux/arm64 \ --build-arg GS_VERSION=$VERSION \ --build-arg GS_BUILD=$BUILD \ -t $TAG . From 7323fa50d9b50c1f556d3bb56f54ae19e19127f1 Mon Sep 17 00:00:00 2001 From: Stefan Tzeggai Date: Wed, 11 Sep 2024 16:43:59 +0200 Subject: [PATCH 2/2] Fix typo on echo-logging --- build/release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/release.sh b/build/release.sh index 4be4ae4..03b3aa1 100755 --- a/build/release.sh +++ b/build/release.sh @@ -85,7 +85,7 @@ if [[ $1 == *build* ]]; then -t $TAG . fi else - echo "docker build ---platform linux/amd64,linux/arm64 -build-arg GS_VERSION=$VERSION --build-arg GS_BUILD=$BUILD -t $TAG ." + echo "docker build --platform linux/amd64,linux/arm64 --build-arg GS_VERSION=$VERSION --build-arg GS_BUILD=$BUILD -t $TAG ." docker build \ --platform linux/amd64,linux/arm64 \ --build-arg GS_VERSION=$VERSION \