diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a72b5cab99df7a74dc300ba9494f026dea3ceb3c..baddf5e3ae8ea8f8969db190b615ad15db504e29 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,8 +3,15 @@ image: registry-gitlab.pasteur.fr/dsi-tools/docker-images/docker:latest services: - registry-gitlab.pasteur.fr/dsi-tools/docker-images/docker:dind +stages: + - build + - upload + + + build: stage: build + needs: [] before_script: - echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER $CI_REGISTRY --password-stdin script: @@ -21,3 +28,21 @@ build: - docker push "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG:latest" # push example image tagged with its commit sha (k8s purpose) - docker push "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG:$CI_COMMIT_SHORT_SHA" + + + +upload: + stage: upload + needs: [] + image: harbor.pasteur.fr/kube-system/helm-kubectl:3.4.0 + script: + - CHART_VERSION=$(helm show chart chart/ | grep version | cut -d' ' -f2) + - CHART_NAME=$(helm show chart chart/ | grep name | cut -d' ' -f2) + - | + if [ "main" == "${CI_COMMIT_REF_SLUG}" ]; then + export CHANNEL="stable" + else + export CHANNEL="${CI_COMMIT_REF_SLUG}" + fi + - helm package chart + - curl --request POST --user gitlab-ci-token:$CI_JOB_TOKEN --form "chart=@${CHART_NAME}-${CHART_VERSION}.tgz" "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/helm/api/${CHANNEL}/charts" \ No newline at end of file