| #!/bin/bash |
| |
| # Copyright (C) 2018 The Android Open Source Project |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http:#www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| 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 |
| TAG=$(./get_version.sh) |
| 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 |