#!/bin/bash set -xeuo pipefail GCLOUD_VERSION=${1} function build_debian() { export DEBIAN_FRONTEND=noninteractive apt-get update apt-get -y install \ apt-transport-https \ python3 \ gnupg curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - echo "deb https://packages.cloud.google.com/apt cloud-sdk main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list apt-get update PACKAGE_VERSION=$(apt-cache policy google-cloud-cli | awk -v dv=${GCLOUD_VERSION} '$1 ~ dv {print $1}') apt-get install -y google-cloud-cli=${PACKAGE_VERSION} apt-get -yq autoremove apt-get clean -yqq rm -rf /var/lib/apt/lists/* } function build_ubi() { BUILD_ARCH=$(arch) UBI_VERSION=$(lsb_release -a | awk '/Release/ { print $2 }') UBI_MAJOR_VERSION=${UBI_VERSION%.*} # strip last component { awk '{$1=$1};1' | tee -a /etc/yum.repos.d/google-cloud-sdk.repo; } <<- EOM [google-cloud-cli] name=Google Cloud CLI baseurl=https://packages.cloud.google.com/yum/repos/cloud-sdk-el${UBI_MAJOR_VERSION}-${BUILD_ARCH} enabled=1 gpgcheck=1 repo_gpgcheck=0 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOM yum update -y PACKAGE_VERSION=$(yum --showduplicates list google-cloud-cli | awk -v dv=${GCLOUD_VERSION} '$2 ~ dv {print $2}') yum install -y google-cloud-cli-${PACKAGE_VERSION} yum autoremove -y yum clean -y all } BUILD_OS=${BUILD_OS:-debian} BUILD_ARCH=${BUILD_ARCH:-amd64} if [[ $BUILD_OS =~ debian ]]; then build_debian "$@" elif [[ $BUILD_OS =~ ubi ]]; then build_ubi "$@" fi