| Giorgi Lekveishvili | 285ab62 | 2023-11-22 13:50:45 +0400 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
| 3 | usage() { |
| 4 | me=`basename "$0"` |
| 5 | echo >&2 "Usage: $me [--help] [--update-latest] [--registry REGISTRY] [--org ORGANIZATION] [--no-push] [--tag TAG] [IMAGE]" |
| 6 | exit 1 |
| 7 | } |
| 8 | |
| 9 | UPDATE_LATEST=false |
| 10 | ORGANIZATION=k8sgerrit |
| 11 | PUSH_IMAGES=true |
| 12 | |
| 13 | while test $# -gt 0 ; do |
| 14 | case "$1" in |
| 15 | --help) |
| 16 | usage |
| 17 | ;; |
| 18 | --update-latest) |
| 19 | UPDATE_LATEST=true |
| 20 | shift |
| 21 | ;; |
| 22 | --registry) |
| 23 | shift |
| 24 | REGISTRY=$1 |
| 25 | shift |
| 26 | ;; |
| 27 | --org) |
| 28 | shift |
| 29 | ORGANIZATION=$1 |
| 30 | shift |
| 31 | ;; |
| 32 | --no-push) |
| 33 | PUSH_IMAGES=false |
| 34 | shift |
| 35 | ;; |
| 36 | --tag) |
| 37 | shift |
| 38 | TAG=$1 |
| 39 | shift |
| 40 | ;; |
| 41 | *) |
| 42 | break |
| 43 | esac |
| 44 | done |
| 45 | |
| 46 | if test -z "$TAG"; then |
| 47 | TAG=$(./get_version.sh) |
| 48 | fi |
| 49 | |
| 50 | #Get list of images |
| 51 | source container-images/publish_list |
| 52 | IMAGES=$(get_image_list) |
| 53 | |
| 54 | test -n "$REGISTRY" && [[ "$REGISTRY" != */ ]] && REGISTRY="$REGISTRY/" |
| 55 | |
| 56 | publish_image(){ |
| 57 | IMAGE=$1 |
| 58 | if test "$UPDATE_LATEST" = "true" ; then |
| 59 | docker image tag k8sgerrit/$IMAGE:$TAG ${REGISTRY}${ORGANIZATION}/$IMAGE:latest |
| 60 | if test "$PUSH_IMAGES" = "true" ; then |
| 61 | docker push "${REGISTRY}${ORGANIZATION}/$IMAGE:latest" |
| 62 | fi |
| 63 | fi |
| 64 | |
| 65 | docker image tag k8sgerrit/$IMAGE:$TAG ${REGISTRY}${ORGANIZATION}/$IMAGE:$TAG |
| 66 | if test "$PUSH_IMAGES" = "true" ; then |
| 67 | docker push "${REGISTRY}${ORGANIZATION}/$IMAGE:$TAG" |
| 68 | fi |
| 69 | } |
| 70 | |
| 71 | if test $# -eq 0 ; then |
| 72 | for IMAGE in $IMAGES; do |
| 73 | publish_image $IMAGE |
| 74 | done |
| 75 | else |
| 76 | while test $# -gt 0 ; do |
| 77 | publish_image $1 |
| 78 | shift |
| 79 | done |
| 80 | fi |