| #!/bin/bash |
| |
| usage() { |
| me=`basename "$0"` |
| echo >&2 "Usage: $me [--help] [--update-latest] [--registry REGISTRY] [--org ORGANIZATION] [--no-push] --tag TAG [IMAGE]" |
| exit 1 |
| } |
| |
| UPDATE_LATEST=false |
| ORGANIZATION=k8sgerrit |
| PUSH_IMAGES=true |
| |
| while test $# -gt 0 ; do |
| case "$1" in |
| --help) |
| usage |
| ;; |
| --update-latest) |
| UPDATE_LATEST=true |
| shift |
| ;; |
| --registry) |
| shift |
| REGISTRY=$1 |
| shift |
| ;; |
| --org) |
| shift |
| ORGANIZATION=$1 |
| shift |
| ;; |
| --no-push) |
| PUSH_IMAGES=false |
| shift |
| ;; |
| --tag) |
| shift |
| TAG=$1 |
| shift |
| ;; |
| *) |
| break |
| esac |
| done |
| |
| if test -z "$TAG"; then |
| echo "No tag was provided." |
| echo "Use either the --tag option or provide a TAG-environment variable." |
| usage |
| fi |
| |
| #Get list of images |
| source container-images/publish_list |
| IMAGES=$(get_image_list) |
| |
| test -n "$REGISTRY" && [[ "$REGISTRY" != */ ]] && REGISTRY="$REGISTRY/" |
| |
| publish_image(){ |
| IMAGE=$1 |
| if test "$UPDATE_LATEST" = "true" ; then |
| docker image tag k8sgerrit/$IMAGE:$TAG ${REGISTRY}${ORGANIZATION}/$IMAGE:latest |
| if test "$PUSH_IMAGES" = "true" ; then |
| docker push "${REGISTRY}${ORGANIZATION}/$IMAGE:latest" |
| fi |
| fi |
| |
| docker image tag k8sgerrit/$IMAGE:$TAG ${REGISTRY}${ORGANIZATION}/$IMAGE:$TAG |
| if test "$PUSH_IMAGES" = "true" ; then |
| docker push "${REGISTRY}${ORGANIZATION}/$IMAGE:$TAG" |
| fi |
| } |
| |
| if test $# -eq 0 ; then |
| for IMAGE in $IMAGES; do |
| publish_image $IMAGE |
| done |
| else |
| while test $# -gt 0 ; do |
| publish_image $1 |
| shift |
| done |
| fi |