diff --git a/Dockerfile b/Dockerfile index 5fc721c..8df2c4d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ WORKDIR /graphhopper COPY graphhopper . -RUN mvn clean install +RUN mvn clean install -DskipTests FROM eclipse-temurin:21.0.1_12-jre diff --git a/build.sh b/build.sh index 1d4b378..d96fdc9 100755 --- a/build.sh +++ b/build.sh @@ -47,11 +47,19 @@ if [ "$1" ]; then (cd graphhopper; git checkout --detach "$1") fi -echo "Building docker image ${imagename}" -docker build . -t "${imagename}" +echo "Creating new builder instance for multi-platform (linux/amd64, linux/arm64/v8) builds to use for building Graphhopper" +docker buildx create --use --name graphhopperbuilder -if [ "${push}" == "false" ]; then - echo "Use \"docker push ${imagename}\" to publish the image on Docker Hub" + +if [ "${push}" == "true" ]; then + echo "Building docker image ${imagename} for linux/amd64 and linux/arm64/v8 and pushing to Docker Hub\n" + docker buildx build --platform linux/amd64,linux/arm64/v8 -t "${imagename}" --push . else - docker push "${imagename}" + echo "Building docker image ${imagename} for linux/amd64 and linux/arm64/v8\n" + docker buildx build --platform linux/amd64,linux/arm64/v8 -t "${imagename}" . + echo "Use \"docker push ${imagename}\" to publish the image on Docker Hub" fi + +# Remove the builder instance after use +docker buildx rm graphhopperbuilder +rm -rf ./graphhopper