Helm Charts
Helm charts 推到 Artifacts Registry

在瀏覽前,若是忘記可以先參考以下文章呦 Helm 簡介
建立 Helm Template 的指令
helm create <helm 的名稱>將 helm chart 推到 GCP 的 Artifact Registry 流程
# 打包 helm chart
helm package <helm chart 資料夾名稱>/
# GCP repository 授權
gcloud auth print-access-token | helm registry login -u oauth2accesstoken --password-stdin https://<artifact registry region>-docker.pkg.dev
# 將 Helm Chart .tgz 檔案推到 Artifact Registry 上
helm push <helm chart 名稱>.tgz oci://<artifact registry region>-docker.pkg.dev/<GCP_PROJECT_ID>/<artifact registry repo 名稱>CI/CD 使用方式:
helm upgrade 相關 Command: Helm | Helm Upgrade
| Command | Command Explanation |
|---|---|
| helm upgrade | upgrade a release |
| helm upgrade --install | if a release by this name doesn't already exist, run an install |
| helm upgrade --create-namespace | if --install is set, create the release namespace if not present |
helm upgrade --install --create-namespace "$DEPLOYMENT_NAME" /
oci://${REGISTRY_REGION}/${PROJECT_ID}/<artifact registry repo 名稱>/$HELM_VERSION /
--namespace ${NAMESPACE} --reuse-values -f helm_value/"$TARGET_ENV".yaml /
--set deployment.container.image=${REGISTRY_REGION}/${PROJECT_ID}/"$REGISTRY_FOLDER"/"$REGISTRY_FILE":"$TARGET_ENV"_"$TIMESTAMP" /
--atomichelm 在 CI/CD 內指令解說
| Command | Command Explanation |
|---|---|
| DEPLOYMENT_NAME | 填上 value 檔案內 name 的值 |
| REGISTRY_REGION | Artifacts Registry 的 Region |
| PROJECT_ID | GCP 專案 ID |
| artifact registry repo | Artifacts Registry 存放 Helm tgz 的 repo |
| HELM_VERSION | app-dev, app-devqa, app-integration, app-staging app-prod |
| NAMESPACE | GKE 對應的 namespace |
| TARGET_ENV | 根據分支更新對應的 helm values.yaml |
| REGISTRY_FOLDER | Artifacts Registry 存放 Docker Image 的 repo |
| REGISTRY_FILE | Artifacts Registry 的 Docker Image |
| TARGET_ENV | 環境名稱 |
| TIMESTAMP | 時間戳 |
