59 lines
2 KiB
YAML
59 lines
2 KiB
YAML
---
|
|
stages:
|
|
- test
|
|
- deploy
|
|
|
|
lint:charts:
|
|
image:
|
|
name: codenest/helm
|
|
entrypoint: ["/bin/sh", "-c"]
|
|
stage: test
|
|
script:
|
|
- helm lint charts/*
|
|
|
|
# pages:
|
|
# image:
|
|
# name: codenest/helm
|
|
# entrypoint: ["/bin/sh", "-c"]
|
|
# stage: deploy
|
|
# before_script:
|
|
# - grep 'repository:' charts/*/Chart.yaml | awk '{ print $3 }' | uniq | xargs -rn1 sh -c 'helm repo add $(basename $0) $0'
|
|
# - helm repo update
|
|
# - ls -d1 charts/* | xargs -rn1 helm dependency build --skip-refresh
|
|
# script:
|
|
# - mkdir -p public
|
|
# - "echo \"User-Agent: *\nDisallow: /\" > ./public/robots.txt"
|
|
# - (cd public; helm package ../charts/*)
|
|
# - helm repo index public --url ${CI_PAGES_URL}
|
|
# artifacts:
|
|
# paths:
|
|
# - public
|
|
# only:
|
|
# - master@ananace/charts
|
|
|
|
push:
|
|
image:
|
|
name: codenest/helm
|
|
entrypoint: ["/bin/sh", "-c"]
|
|
stage: deploy
|
|
before_script:
|
|
- grep 'repository:' charts/*/Chart.yaml | awk '{ print $3 }' | uniq | xargs -rn1 sh -c 'helm repo add $(basename $0) $0'
|
|
- helm repo update
|
|
- ls -d1 charts/* | xargs -rn1 helm dependency build --skip-refresh
|
|
script:
|
|
- mkdir -p packaged
|
|
- (cd packaged; helm package ../charts/*)
|
|
- ls -d1 packaged/* | xargs -rn1 sh -c '
|
|
curl --user gitlab-ci-token:$CI_JOB_TOKEN "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/helm/stable/charts/$(basename $0)" -Iso /dev/null -w "%{http_code}" | grep 200 ||
|
|
curl --request POST --user gitlab-ci-token:$CI_JOB_TOKEN --form "chart=@$0" "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/helm/api/${CHANNEL}/charts"
|
|
'
|
|
- mkdir -p public
|
|
- curl --user gitlab-ci-token:$CI_JOB_TOKEN "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/helm/${CHANNEL}/index.yaml" -o public/index.yaml
|
|
- sed -e "s|- charts/|- ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/helm/${CHANNEL}/charts/|" -i public/index.yaml
|
|
artifacts:
|
|
paths:
|
|
- public
|
|
variables:
|
|
CHANNEL: stable
|
|
only:
|
|
- master@ananace/charts
|