Skip to content
Snippets Groups Projects
Commit 917c8d6b authored by Danylo Vanin (EPAM)'s avatar Danylo Vanin (EPAM) Committed by Oleksandr Kosse (EPAM)
Browse files

[GONRG-6680] Added oci helm release logic

parent d522ea61
No related branches found
No related tags found
1 merge request!4[GONRG-6680] Added oci helm release logic
......@@ -6,18 +6,9 @@ stages:
- containerize
- package
gc-helm-charts-master:
stage: package
tags: ["osdu-small"]
image:
name: alpine/helm:3.9.0
entrypoint: [""]
variables:
GC_HELM_CHART_DIR: chart
before_script:
- helm plugin install https://github.com/chartmuseum/helm-push.git
script:
- helm cm-push $GC_HELM_CHART_DIR ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/helm/stable --username gitlab-ci-token --password $CI_JOB_TOKEN
rules:
- if: "$GC == '1'"
when: on_success
include:
# Common scripts used in other jobs
- project: "osdu/platform/ci-cd-pipelines"
file: "cloud-providers/gc-scripts.yml"
# Helm packaging logic
- local: "pipelines/helm-package.yml"
# Bitnami Common Library Helm Chart
## Description
This repository contains Bitnami Common Library Helm Chart version `2.2.2` packaged by Bitnami.
The chart is used for OSDU purposes only.
Details on chart usage are available in [Bitnami Common Library Helm Chart README](./chart/README.md).
## Release process
To release Bitnami Common Library Helm Chart the following actions should be performed:
1. New updates to the code should be brought, tested and merged into the `main` branch using Merge Request. For merge request development version of the chart is published that can be used for testing.
2. After merging the updated version into the `main` branch, the appropriate tag should be created on it specifying release version (e.g. `v2.2.3`). This will trigger jobs that will push the packaged chart of specified version to the Google Container Registry and the Gitlab Container Registry in OCI format.
variables:
GC_HELM_DEPLOYMENT_DIR: "chart"
GC_HELM_PACKAGE_NAME: "common"
GC_GCR_REGISTRY: "gcr.io/osdu-anthos"
.get_latest_helm_package_version:
script:
- wget -q https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/bin/yq && chmod +x /usr/bin/yq
- LATEST_HELM_PACKAGE_VERSION=$(yq '.version' $GC_HELM_DEPLOYMENT_DIR/Chart.yaml)
gc-helm-charts-gitlab:
stage: package
tags: ["osdu-small"]
image:
name: alpine/helm:3.9.0
entrypoint: [""]
rules:
- if: "$CI_COMMIT_TAG"
when: never
- if: "$CI_PIPELINE_SOURCE == 'merge_request_event'"
when: on_success
- if: "$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH"
when: on_success
before_script:
- helm registry login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- !reference [.set_image_name, script]
- !reference [.get_latest_helm_package_version, script]
script:
- helm package $GC_HELM_DEPLOYMENT_DIR -u --version $LATEST_HELM_PACKAGE_VERSION-$IMAGE_TAG
- helm push $GC_HELM_PACKAGE_NAME-$LATEST_HELM_PACKAGE_VERSION-$IMAGE_TAG.tgz oci://$CI_REGISTRY_IMAGE/gc-helm
gc-helm-charts-release-gitlab:
stage: package
tags: ["osdu-small"]
image:
name: alpine/helm:3.9.0
entrypoint: [""]
rules:
- if: "$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_TAG"
when: on_success
before_script:
- helm registry login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- !reference [.set_image_name, script]
script:
- !reference [.define_version, script]
- helm package $GC_HELM_DEPLOYMENT_DIR -u --version $VERSION
- helm push $GC_HELM_PACKAGE_NAME-$VERSION.tgz oci://$CI_REGISTRY_IMAGE/gc-helm
gc-helm-charts-release-gcr:
environment:
name: Google_Cloud
stage: package
tags: ["osdu-small"]
image:
name: alpine/helm:3.9.0
entrypoint: [""]
rules:
- if: "$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_TAG"
when: on_success
before_script:
- cat $GC_DEPLOY_FILE | helm registry login -u _json_key --password-stdin https://gcr.io
script:
- !reference [.define_version, script]
- helm package $GC_HELM_DEPLOYMENT_DIR -u --version $VERSION
- helm push $GC_HELM_PACKAGE_NAME-$VERSION.tgz oci://$GC_GCR_REGISTRY/helm/bitnami
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment