alfresco-ng2-components/scripts/docker-publish.sh
2018-05-28 12:00:38 +01:00

56 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
set -e
eval EXEC_LOGIN=false
show_help() {
echo "Usage: docker_publish.sh"
echo ""
echo "-u or --username username docker repo"
echo "-p or --passwor password docker repo"
echo "-t or --tags tags comma separated"
}
username_set() {
USERNAME=$1
}
password_set() {
PASSWORD=$1
EXEC_LOGIN=true
}
tags_set() {
TAGS=$1
}
while [[ $1 == -* ]]; do
case "$1" in
-h|--help|-\?) show_help; exit 0;;
-u|--username) username_set $2; shift 2;;
-p|--password) password_set $2; shift 2;;
-t|--tags) tags_set $2; shift 2;;
-*) echo "invalid option: $1" 1>&2; show_help; exit 1;;
esac
done
# Tag and push image for each additional tag
for current_tag in $(echo $TAGS | sed "s/,/ /g")
do
echo "====== PUBLISH DOCKER IMAGE TAG ${current_tag} ====="
docker build -t alfresco/demo-shell:${current_tag} .
docker tag alfresco/demo-shell:${current_tag} alfresco/demo-shell:${current_tag}
if $EXEC_LOGIN == true; then
echo "====== LOGIN ====="
docker login -u "${USERNAME}" -p "${PASSWORD}"
fi
docker push "alfresco/demo-shell"
echo "====== CLEAN LOCAL IMAGE TAG ${current_tag} ====="
docker rmi -f alfresco/demo-shell:${current_tag}
done