hooks/build
#!/usr/bin/env bash
# set -euf -o pipefail
set -e # If a command fails, set -e will make the whole script exit
# set -u # Treat unset variables as an error, and immediately exit.
set -f # Disable filename expansion (globbing) upon seeing *, ?, etc.
set -o pipefail # causes a pipeline (for example, curl -s https://sipb.mit.edu/ | grep foo) to produce a failure return code if any command errors.
# https://docs.docker.com/docker-hub/builds/advanced/
# $IMAGE_NAME var is injected into the build so the tag is correct.
# docker build --build-arg ADMIDIO_BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
# --build-arg ADMIDIO_VCS_REF=`git rev-parse --short HEAD` \
# --build-arg ADMIDIO_VERSION=`cat ADMIDIO_VERSION` .
# example usage:
# IMAGE_NAME="yourUsername/admidio:v4.0.4" ./hooks/build
IMAGE_NAME="${IMAGE_NAME}"
if [ "${IMAGE_NAME}" = "" ]; then
echo "[ERROR] IMAGE_NAME not specified."
exit 1
fi
for item in ${IMAGE_NAME}; do
IMAGE_NAMES="${IMAGE_NAMES} -t ${item}"
done
ADMIDIO_BUILD_DATE="$(date -u +'%Y-%m-%dT%H:%M:%SZ')"
ADMIDIO_VCS_REF="$(git describe --always --abbrev=7 --tags --long)"
ADMIDIO_VERSION="$(git describe --always --abbrev=0 --tags)"
echo "Build hook running"
echo "docker build --build-arg ADMIDIO_BUILD_DATE=\"${ADMIDIO_BUILD_DATE}\" \
--build-arg ADMIDIO_VCS_REF=\"${ADMIDIO_VCS_REF}\" \
--build-arg ADMIDIO_VERSION=\"${ADMIDIO_VERSION}\" \
--rm --force-rm \
-f \"Dockerfile\" \
${IMAGE_NAMES} \
.
"
docker build \
--build-arg ADMIDIO_BUILD_DATE="${ADMIDIO_BUILD_DATE}" \
--build-arg ADMIDIO_VCS_REF="${ADMIDIO_VCS_REF}" \
--build-arg ADMIDIO_VERSION="${ADMIDIO_VERSION}" \
--rm --force-rm \
-f "Dockerfile" \
${IMAGE_NAMES} \
.