34 lines
1.2 KiB
Bash
Executable file
34 lines
1.2 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# This script is used to tag the OpenShift Docker images.
|
|
#
|
|
# Resulting image will be tagged: 'name:version' and 'name:latest'. Name and version
|
|
# are values of labels from resulted image
|
|
#
|
|
# VERSIONS - Must be set to a list with possible versions (subdirectories)
|
|
|
|
set -e
|
|
|
|
for dir in ${VERSIONS}; do
|
|
[ ! -e "${dir}/.image-id" ] && echo "-> Image for version $dir not built, skipping tag." && continue
|
|
pushd "${dir}" > /dev/null
|
|
IMAGE_ID=$(cat .image-id)
|
|
name=$(docker inspect -f "{{.Config.Labels.name}}" "$IMAGE_ID")
|
|
version=$(docker inspect -f "{{.Config.Labels.version}}" "$IMAGE_ID")
|
|
commit_date=$(git show -s HEAD --format=%cd --date=short | sed 's/-//g')
|
|
date_and_hash="${commit_date}-$(git rev-parse --short HEAD)"
|
|
|
|
echo "-> Tagging image '$IMAGE_ID' as '$name:$version' and '$name:latest' and '$name:$date_and_hash'"
|
|
docker tag "$IMAGE_ID" "$name:$version"
|
|
docker tag "$IMAGE_ID" "$name:latest"
|
|
docker tag "$IMAGE_ID" "$name:$date_and_hash"
|
|
|
|
for suffix in squashed raw; do
|
|
id_file=.image-id.$suffix
|
|
if test -f "$id_file"; then
|
|
docker tag "$(cat "$id_file")" "$name:$suffix" || rm .image-id."$suffix"
|
|
fi
|
|
done
|
|
|
|
popd > /dev/null
|
|
done
|