diff --git a/.github/build-and-upload.sh b/.github/build-and-upload.sh index 0084c91..217bb7d 100644 --- a/.github/build-and-upload.sh +++ b/.github/build-and-upload.sh @@ -2,30 +2,19 @@ echo "Cloning graphhopper" git clone https://github.com/graphhopper/graphhopper.git -cd graphhopper -echo "Downloading Dockerfile and graphhopper.sh" -curl -L https://raw.githubusercontent.com/IsraelHikingMap/graphhopper-docker-image-push/main/Dockerfile > Dockerfile -curl -L https://raw.githubusercontent.com/IsraelHikingMap/graphhopper-docker-image-push/main/graphhopper.sh > graphhopper.sh -chmod +x ./graphhopper.sh echo "Building docker image" docker build . -t israelhikingmap/graphhopper:latest docker login --username $DOCKERHUB_USER --password $DOCKERHUB_TOKEN echo "Publishing docker image" docker push israelhikingmap/graphhopper:latest -TAG=`git for-each-ref --sort=committerdate refs/tags | tail -n 1 | cut -d "/" -f3` +TAG=`cd graphhopper; git for-each-ref --sort=committerdate refs/tags | tail -n 1 | cut -d "/" -f3` if docker manifest inspect israelhikingmap/graphhopper:$TAG >/dev/null; then echo "No need to publish existing version: $TAG"; else - mv Dockerfile ../Dockerfile - mv graphhopper.sh ../graphhopper.sh - git checkout tags/$TAG - mv ../Dockerfile Dockerfile - mv ../graphhopper.sh graphhopper.sh + (cd graphhopper ; git checkout tags/$TAG) echo "Building docker image for tag: $TAG" docker build . -t israelhikingmap/graphhopper:$TAG echo "Publishing docker image for tag: $TAG" docker push israelhikingmap/graphhopper:$TAG fi - - diff --git a/.github/build.sh b/.github/build.sh new file mode 100644 index 0000000..d6a1af5 --- /dev/null +++ b/.github/build.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +echo "Cloning graphhopper" +git clone https://github.com/graphhopper/graphhopper.git +echo "Building docker image" +docker build . -t israelhikingmap/graphhopper:latest diff --git a/Dockerfile b/Dockerfile index 0bee0b3..14449cd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,8 @@ FROM maven:3.6.3-jdk-8 as build -RUN apt-get install -y wget - WORKDIR /graphhopper -COPY . . +COPY graphhopper . RUN mvn clean install @@ -16,9 +14,9 @@ RUN mkdir -p /data WORKDIR /graphhopper -COPY --from=build /graphhopper/web/target/graphhopper*.jar ./ +COPY --from=build /graphhopper/web/target/graphhopper*.jar . -COPY ./config-example.yml ./ +COPY graphhopper.sh graphhopper/config-example.yml . COPY ./graphhopper.sh ./ diff --git a/README.md b/README.md index 6ee99e3..b767e2e 100644 --- a/README.md +++ b/README.md @@ -32,3 +32,5 @@ docker run --entrypoint /bin/bash israelhikingmap/graphhopper -c "wget https://d ``` Checkout `graphhopper.sh` for more usage options such as import. + +In order to build the docker image locally, please run [`.github/build.sh`](.github/build.sh).