diff --git a/docker/build_image.sh b/docker/build_image.sh new file mode 100755 --- /dev/null +++ b/docker/build_image.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +# Use: ./build_image.sh: If not logged in in docker hub, this will build the image. If +# logged in, this will also push the image to the softwareheritage organization +# repository (unless PUBLISH variable is set to no) +set -x + +builddate=$(date +%Y%m%d) +buildtime=$(date +%H%M%S) +builddatetime="${builddate}-${buildtime}" + +username=$(docker info 2>&1 | grep Username | awk '{print $2}') + +img=softwareheritage/maven-index-exporter +docker build \ + --file Dockerfile \ + --tag ${img}:${builddatetime} \ + . + +docker tag ${img}:${builddatetime} ${img}:${builddate} +docker tag ${img}:${builddate} ${img}:latest + +if [[ -n "${username}" ]] && [[ "${PUBLISH:=no}" = "yes" ]]; then + echo "Publishing image softwareheritage:${img}-${builddate} on docker hub" + docker push softwareheritage/${img}:${builddatetime} + docker push softwareheritage/${img}:${builddate} + docker push softwareheritage/${img}:latest +fi + +echo "Done creating images."