#! /bin/bash set -o pipefail set -e rm -rf ./deploy mkdir -p ./deploy/go-app/public cp ./resume.md-main/resume.html ./deploy/go-app/public/index.html cp ./resume.md-main/resume.css ./deploy/go-app/public/ cp ./resume.md-main/resume.pdf ./deploy/go-app/public/ ( printf "runtime: go114\n" true || go version \ | grep -Eo '[0-9]+\.[0-9]+' \ | sed 's/[^0-9]//' ) > ./deploy/go-app/app.yaml cp ./main.go ./deploy/go-app if [ ! -d ./vendor ]; then govendor init govendor add +external fi cp -r ./vendor ./deploy/go-app/vendor if ! which gcloud; then # Add the Cloud SDK distribution URI as a package source echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list # # # Import the Google Cloud public key curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add - # # # Update the package list and install the Cloud SDK sudo apt-get update && sudo apt-get install google-cloud-sdk gcloud components install app-engine-go || sudo apt-get install -y google-cloud-sdk-app-engine-go fi pushd ./deploy/go-app gcloud app deploy popd