Created
April 6, 2020 04:11
-
-
Save seahrh/2c6a6ff47ed8b4825696ff7475cd2b0f to your computer and use it in GitHub Desktop.
Helm deploy microservice to gke, use Helm image from google cloud community builders
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -e | |
set -x #echo on | |
# entrypoint requires the following variables to be set | |
case $ENVIRONMENT in | |
"prod") | |
export CLOUDSDK_COMPUTE_ZONE="prod" | |
export CLOUDSDK_CONTAINER_CLUSTER="prod" | |
export GCLOUD_PROJECT="prod" | |
;; | |
"stg") | |
export CLOUDSDK_COMPUTE_ZONE="asia-southeast1-a" | |
export CLOUDSDK_CONTAINER_CLUSTER="my_cluster" | |
export GCLOUD_PROJECT="my_project" | |
;; | |
*) | |
export CLOUDSDK_COMPUTE_ZONE="" | |
export CLOUDSDK_CONTAINER_CLUSTER="" | |
export GCLOUD_PROJECT="" | |
;; | |
esac | |
# entrypoint from helm docker image | |
/builder/helm.bash | |
# commands after entrypoint | |
helm version --client | |
helm repo add repo-name https://example.io/repo-name/ | |
helm repo update | |
helm repo list | |
APP_RELEASE="${REPO_NAME}" | |
APP_CHART="" | |
APP_CHART_VERSION="" | |
APP_VALUES="helm-chart/subdir/${ENVIRONMENT}.yaml" | |
INFRA_RELEASE="${REPO_NAME}-infra" | |
INFRA_CHART="" | |
INFRA_CHART_VERSION="" | |
INFRA_VALUES="helm-chart/subdir/${ENVIRONMENT}.yaml" | |
SETTING_NAME="app.name=${APP_RELEASE}" | |
SETTING_IMAGE_NAME="app.baseImageName=${IMAGE_NAME}" | |
SETTING_IMAGE_TAG="app.imageTag=${IMAGE_TAG}" | |
SETTING_ENVIRONMENT="app.env=${ENVIRONMENT}" | |
SETTING_OWNER="app.configmap.data.SERVICE_OWNER=${OWNER}" | |
env | sort | |
echo "Dry run..." | |
helm upgrade "${APP_RELEASE}" "${APP_CHART}" \ | |
--dry-run --debug \ | |
--install \ | |
--tiller-namespace "${NAMESPACE}" \ | |
--namespace "${NAMESPACE}" \ | |
--values "${APP_VALUES}" \ | |
--version "${APP_CHART_VERSION}" \ | |
--set "${SETTING_NAME}" \ | |
--set "${SETTING_IMAGE_NAME}" \ | |
--set "${SETTING_IMAGE_TAG}" \ | |
--set "${SETTING_ENVIRONMENT}" \ | |
--set "${SETTING_OWNER}" | |
helm upgrade "${INFRA_RELEASE}" "${INFRA_CHART}" \ | |
--dry-run --debug \ | |
--install \ | |
--tiller-namespace "${NAMESPACE}" \ | |
--namespace "${NAMESPACE}" \ | |
--values "${INFRA_VALUES}" \ | |
--version "${INFRA_CHART_VERSION}" \ | |
--set "${SETTING_NAME}" \ | |
--set "${SETTING_ENVIRONMENT}" | |
echo "Dry run... DONE" | |
echo "Deploy..." | |
helm upgrade "${APP_RELEASE}" "${APP_CHART}" \ | |
--install \ | |
--tiller-namespace "${NAMESPACE}" \ | |
--namespace "${NAMESPACE}" \ | |
--values "${APP_VALUES}" \ | |
--version "${APP_CHART_VERSION}" \ | |
--set "${SETTING_NAME}" \ | |
--set "${SETTING_IMAGE_NAME}" \ | |
--set "${SETTING_IMAGE_TAG}" \ | |
--set "${SETTING_ENVIRONMENT}" \ | |
--set "${SETTING_OWNER}" | |
helm upgrade "${INFRA_RELEASE}" "${INFRA_CHART}" \ | |
--install \ | |
--tiller-namespace "${NAMESPACE}" \ | |
--namespace "${NAMESPACE}" \ | |
--values "${INFRA_VALUES}" \ | |
--version "${INFRA_CHART_VERSION}" \ | |
--set "${SETTING_NAME}" \ | |
--set "${SETTING_ENVIRONMENT}" | |
echo "Deploy... DONE" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment