62 lines
1.7 KiB
YAML
62 lines
1.7 KiB
YAML
default:
|
|
tags:
|
|
- docker-test
|
|
|
|
stages:
|
|
- package
|
|
- publish
|
|
|
|
variables:
|
|
CHART_NAME: "freeradius"
|
|
CHART_VERSION: "1.0.9"
|
|
PACKAGE_PATH: "packages"
|
|
ST_COMMON_PROJECT_ID: "270"
|
|
COMMON_PROJECT_URL: "${CI_API_V4_URL}/projects/${ST_COMMON_PROJECT_ID}/packages/helm/stable"
|
|
HELM_EXPERIMENTAL_OCI: "1"
|
|
GITEA_URL: "gitea.infrastructure.helmholz.cloud"
|
|
GITEA_REPO: "oci://gitea.infrastructure.helmholz.cloud/gitea_admin/helm"
|
|
|
|
package_chart:
|
|
stage: package
|
|
image:
|
|
name: alpine/helm:3.14.0
|
|
entrypoint: [""]
|
|
script:
|
|
- helm repo add st-common ${COMMON_PROJECT_URL} --username gitlab-ci-token --password $CI_JOB_TOKEN
|
|
- helm dependency build .
|
|
- mkdir -p $PACKAGE_PATH
|
|
- helm package . --destination $PACKAGE_PATH
|
|
artifacts:
|
|
paths:
|
|
- ${PACKAGE_PATH}/${CHART_NAME}-${CHART_VERSION}.tgz
|
|
|
|
|
|
publish_chart:
|
|
stage: publish
|
|
image: alpine/curl:8.14.1
|
|
script:
|
|
- |
|
|
curl --fail-with-body --request POST \
|
|
--user gitlab-ci-token:$CI_JOB_TOKEN \
|
|
--form "chart=@${PACKAGE_PATH}/${CHART_NAME}-${CHART_VERSION}.tgz" \
|
|
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/helm/api/stable/charts"
|
|
only:
|
|
- main
|
|
|
|
push_chart_to_gitea:
|
|
stage: publish
|
|
image:
|
|
name: alpine/helm:3.14.0
|
|
entrypoint: [""]
|
|
variables:
|
|
GITEA_URL: "https://gitea.infrastructure.helmholz.cloud"
|
|
GITEA_USERNAME: "gitea_admin"
|
|
GITEA_PASSWORD: "$GITEA_PASSWORD"
|
|
script:
|
|
- echo "$GITEA_PASSWORD" | helm registry login $GITEA_URL --username $GITEA_USERNAME --password-stdin
|
|
- helm push ${PACKAGE_PATH}/${CHART_NAME}-${CHART_VERSION}.tgz $GITEA_REPO
|
|
when: manual
|
|
only:
|
|
- main
|
|
dependencies:
|
|
- package_chart |