Initial code drop.
This commit is contained in:
commit
1447b6640a
15 changed files with 685 additions and 0 deletions
39
hooks/post_push
Executable file
39
hooks/post_push
Executable file
|
@ -0,0 +1,39 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Post push hook for Docker Automated Build.
|
||||
#
|
||||
# This hook adds the 'latest' tag to the image.
|
||||
#
|
||||
|
||||
set -e # Exit immediately if a command exits with a non-zero status.
|
||||
set -u # Treat unset variables as an error.
|
||||
|
||||
source 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
|
||||
"
|
||||
|
||||
if [[ "$DOCKER_TAG" =~ v[0-9]+\.[0-9]+\.[0-9]+-alpha[0-9]+$ ]]; then
|
||||
DOCKER_NEWTAG="$(echo "$DOCKER_TAG" | sed 's/-alpha[0-9]\+$/-alpha/')"
|
||||
elif [[ "$DOCKER_TAG" =~ v[0-9]+\.[0-9]+\.[0-9]+-beta[0-9]+$ ]]; then
|
||||
DOCKER_NEWTAG="$(echo "$DOCKER_TAG" | sed 's/-beta[0-9]\+$/-beta/')"
|
||||
elif [[ "$DOCKER_TAG" =~ v[0-9]+\.[0-9]+\.[0-9]+-rc[0-9]+$ ]]; then
|
||||
DOCKER_NEWTAG="$(echo "$DOCKER_TAG" | sed 's/-rc[0-9]\+$/-rc/')"
|
||||
elif [[ "$DOCKER_TAG" =~ v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
||||
DOCKER_NEWTAG="latest"
|
||||
else
|
||||
echo "ERROR: Invalid docker tag."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Adding tag '$DOCKER_NEWTAG' to image..."
|
||||
docker tag $IMAGE_NAME ${DOCKER_REPO}:$DOCKER_NEWTAG
|
||||
echo "Pushing image..."
|
||||
docker push ${DOCKER_REPO}:$DOCKER_NEWTAG
|
||||
|
||||
echo "post_push hook terminated successfully."
|
38
hooks/pre_build
Executable file
38
hooks/pre_build
Executable 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."
|
Loading…
Add table
Add a link
Reference in a new issue