Helm
Provides .helm for deploying Helm charts cloned from a Git repository.
Usage
yaml
include:
- project: hosst/gitlab-pipelines
file: helpers/helm.yamlVariables
| Variable | Default | Description |
|---|---|---|
HELM_EXPERIMENTAL_OCI | 1 | Enables OCI registry support |
HELM_REGISTRY | $CI_REGISTRY | Helm OCI registry host |
HELM_REGISTRY_USER | $CI_REGISTRY_USER | Registry username |
HELM_REGISTRY_PASSWORD | $CI_JOB_TOKEN | Registry password |
HELM_CHART | ./helm-charts/charts/standard | Chart path within the cloned repository |
HELM_CHART_VERSION | main | Branch or tag of the chart repository to clone |
HELM_RELEASE | $CI_PROJECT_NAME | Helm release name |
HELM_NAMESPACE | $KUBERNETES_NAMESPACE | Kubernetes namespace |
HELM_REPOSITORY | gitlab.com/hosstio/helm-charts | Chart repository to clone |
HELM_REPOSITORY_USER | $CI_JOB_USER | Repository auth username |
HELM_REPOSITORY_PASSWORD | $CI_JOB_TOKEN | Repository auth password |
Deploy (.helm)
Clones the chart repository at HELM_CHART_VERSION before running the deploy script.
Variables
Examples
yaml
deploy:
extends: .helm
stage: deploy
environment:
name: $ENVIRONMENT
url: $URL
variables:
HELM_VALUES: "--values kubernetes/helm/values.yaml --values kubernetes/helm/$ENVIRONMENT.yaml"
script:
- helm upgrade $HELM_RELEASE $HELM_CHART
--install
--wait
--namespace $HELM_NAMESPACE
--set image.repository=$DOCKER_REGISTRY/$DOCKER_IMAGE_NAME
--set image.tag=$GIT_SHA_SHORT
$HELM_VALUES