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

pull/85/head
Stefan Tzeggai 2024-09-11 14:53:40 +02:00
parent 23b83abc79
commit 08cac1ada3
1 changed files with 9 additions and 3 deletions

View File

@ -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 .