Initial code drop.

This commit is contained in:
Jocelyn Le Sage 2018-02-14 20:32:28 -05:00
commit 1447b6640a
15 changed files with 685 additions and 0 deletions

38
hooks/pre_build Executable file
View file

@ -0,0 +1,38 @@
#!/bin/bash
#
# Pre build hook for Docker Automated Build.
#
# This hooks modifies the Dockerfile by inserting the image version in the
# related label.
#
set -e # Exit immediately if a command exits with a non-zero status.
set -u # Treat unset variables as an error.
# Make sure the DOCKER_TAG has a supported format like:
# v1.0.0
# v0.1.0-beta1
# v2.0.0-rc2
if [[ ! "$DOCKER_TAG" =~ ^v[0-9\.]+(-(alpha|beta|rc)[0-9]+)?$ ]]; then
echo "Unsupported DOCKER_TAG: $DOCKER_TAG"
exit 1
fi
# The version to use is the same has the DOCKER_TAG, minus the initial 'v'.
IMAGE_VERSION="${DOCKER_TAG:1}"
# Export our custom variables.
echo "IMAGE_VERSION=\"$IMAGE_VERSION\"" >> custom_hook_env
echo "Environment variables:
IMAGE_NAME=$IMAGE_NAME
DOCKER_REPO=$DOCKER_REPO
DOCKER_TAG=$DOCKER_TAG
SOURCE_BRANCH=$SOURCE_BRANCH
IMAGE_VERSION=$IMAGE_VERSION
"
echo "Inserting image version in Dockerfile..."
sed -i "s/org.label-schema.version=\"unknown\"/org.label-schema.version=\"$IMAGE_VERSION\"/" Dockerfile
echo "pre_build hook terminated successfully."