--- 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