Loading k8s/helm/cm-push.yml 0 → 100644 +16 −0 Original line number Diff line number Diff line --- helm:release: image: alpine/k8s:1.21.5 stage: build variables: HELM_RELEASE_CHANNEL: stable script: - helm package ./ - helm repo index ./ --url ${CI_PROJECT_PATH} - helm repo add --username gitlab-ci-token --password ${CI_JOB_TOKEN} ${CI_PROJECT_NAME} "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/helm/${HELM_RELEASE_CHANNEL}" - helm cm-push *-${CI_COMMIT_TAG}.tgz ${CI_PROJECT_NAME} rules: - if: $CI_COMMIT_TAG artifacts: paths: - index.yaml No newline at end of file k8s/helm/lint.yml 0 → 100644 +8 −0 Original line number Diff line number Diff line --- helm:lint: stage: test image: alpine/k8s:1.21.5 script: - helm lint rules: - if: $CI_COMMIT_BRANCH k8s/helm/upgrade.yml 0 → 100644 +36 −0 Original line number Diff line number Diff line --- variables: DEPLOYMENT_DOMAIN_NAME: example.com HELM_CHART_NAME: my-chart HELM_REPO_NAME: myrepo HELM_REPO_URL: https://charts.myrepo.com HELM_UPGRADE_EXTRA_ARGS: "" HELM_NAMESPACE: ${HELM_CHART_NAME}-${CI_ENVIRONMENT_SLUG} HELM_RELEASE: ${HELM_CHART_NAME} HELM_VALUES_FILE: values.yaml KUBE_CONTEXT: path/to/agent/repo:youragent-name .helm: stage: deploy image: alpine/k8s:1.22.9 before_script: - kubectl config get-contexts - kubectl config use-context ${KUBE_CONTEXT} .helm:upgrade: extends: .helm environment: url: https://${CI_ENVIRONMENT_SLUG}.${DEPLOYMENT_DOMAIN} rules: - if: $CI_COMMIT_BRANCH script: - helm repo add ${HELM_REPO_NAME} ${HELM_REPO_URL} - helm upgrade --install ${HELM_RELEASE} ${HELM_REPO_NAME}/${HELM_CHART_NAME} --values ${HELM_VALUES_FILE} --create-namespace --namespace=${HELM_NAMESPACE} ${HELM_UPGRADE_EXTRA_ARGS} .helm:uninstall: extends: .helm environment: action: stop script: - helm uninstall ${HELM_RELEASE} when: manual Loading
k8s/helm/cm-push.yml 0 → 100644 +16 −0 Original line number Diff line number Diff line --- helm:release: image: alpine/k8s:1.21.5 stage: build variables: HELM_RELEASE_CHANNEL: stable script: - helm package ./ - helm repo index ./ --url ${CI_PROJECT_PATH} - helm repo add --username gitlab-ci-token --password ${CI_JOB_TOKEN} ${CI_PROJECT_NAME} "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/helm/${HELM_RELEASE_CHANNEL}" - helm cm-push *-${CI_COMMIT_TAG}.tgz ${CI_PROJECT_NAME} rules: - if: $CI_COMMIT_TAG artifacts: paths: - index.yaml No newline at end of file
k8s/helm/lint.yml 0 → 100644 +8 −0 Original line number Diff line number Diff line --- helm:lint: stage: test image: alpine/k8s:1.21.5 script: - helm lint rules: - if: $CI_COMMIT_BRANCH
k8s/helm/upgrade.yml 0 → 100644 +36 −0 Original line number Diff line number Diff line --- variables: DEPLOYMENT_DOMAIN_NAME: example.com HELM_CHART_NAME: my-chart HELM_REPO_NAME: myrepo HELM_REPO_URL: https://charts.myrepo.com HELM_UPGRADE_EXTRA_ARGS: "" HELM_NAMESPACE: ${HELM_CHART_NAME}-${CI_ENVIRONMENT_SLUG} HELM_RELEASE: ${HELM_CHART_NAME} HELM_VALUES_FILE: values.yaml KUBE_CONTEXT: path/to/agent/repo:youragent-name .helm: stage: deploy image: alpine/k8s:1.22.9 before_script: - kubectl config get-contexts - kubectl config use-context ${KUBE_CONTEXT} .helm:upgrade: extends: .helm environment: url: https://${CI_ENVIRONMENT_SLUG}.${DEPLOYMENT_DOMAIN} rules: - if: $CI_COMMIT_BRANCH script: - helm repo add ${HELM_REPO_NAME} ${HELM_REPO_URL} - helm upgrade --install ${HELM_RELEASE} ${HELM_REPO_NAME}/${HELM_CHART_NAME} --values ${HELM_VALUES_FILE} --create-namespace --namespace=${HELM_NAMESPACE} ${HELM_UPGRADE_EXTRA_ARGS} .helm:uninstall: extends: .helm environment: action: stop script: - helm uninstall ${HELM_RELEASE} when: manual