github.com/muhammadn/cortex@v1.9.1-0.20220510110439-46bb7000d03d/push-images (about)

     1  #!/usr/bin/env bash
     2  
     3  set -o errexit
     4  set -o nounset
     5  set -o pipefail
     6  
     7  IMAGES=$(make images)
     8  IMAGE_TAG=${IMAGE_TAG:-$(./tools/image-tag)}
     9  QUAY_PREFIX=quay.io/
    10  NO_QUAY=
    11  
    12  usage() {
    13      echo "$0 (-noquay)"
    14      exit 2
    15  }
    16  
    17  while [ $# -gt 0 ]; do
    18      case "$1" in
    19          "-noquay")
    20              NO_QUAY=true
    21              shift 1
    22              ;;
    23          *)
    24              usage
    25              exit 2
    26              ;;
    27      esac
    28  done
    29  
    30  push_image() {
    31      local image="$1"
    32      echo "Pushing ${image}:${IMAGE_TAG}"
    33      docker push ${image}:${IMAGE_TAG}
    34  
    35      if [ -n "${NO_QUAY}" ]; then
    36          return
    37      fi
    38  
    39      # remove the quay prefix and push to docker hub
    40      docker_hub_image=${image#$QUAY_PREFIX}
    41      docker tag ${image}:${IMAGE_TAG} ${docker_hub_image}:${IMAGE_TAG}
    42  
    43      echo "Pushing ${docker_hub_image}:${IMAGE_TAG}"
    44      docker push ${docker_hub_image}:${IMAGE_TAG}
    45  }
    46  
    47  for image in ${IMAGES}; do
    48      if [[ "$image" == *"build"* ]]; then
    49          continue
    50      fi
    51      push_image "${image}"
    52  done