variables: DOCKER_HOST: "tcp://docker-dind.gitlab-suma:2375" DOCKER_BUILD_IMAGE: docker:20.10.15 DOCKER_IMAGE_NAME: suggestible DOCKER_TAG_NAME: $CI_COMMIT_SHA HELM_RELEASE_NAME: $CI_COMMIT_BRANCH KUBERNETES_NAMESPACE: suggestible KUBERNETES_DEPLOY_IMAGE: alpine/k8s:1.24.4 stages: - build - deploy build: stage: build image: ${DOCKER_BUILD_IMAGE} before_script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY script: - docker build --network=host -t ${CI_REGISTRY_IMAGE}/${DOCKER_IMAGE_NAME}:${DOCKER_TAG_NAME} -f ./Dockerfile . - docker push ${CI_REGISTRY_IMAGE}/${DOCKER_IMAGE_NAME}:${DOCKER_TAG_NAME} after_script: - docker logout $CI_REGISTRY only: - main deploy: stage: deploy image: ${KUBERNETES_DEPLOY_IMAGE} before_script: - kubectl config use-context open-source/suggestible:gitlab-agent script: | helm -n ${KUBERNETES_NAMESPACE} upgrade --install ${HELM_RELEASE_NAME} chart/ \ --set image.repository=${CI_REGISTRY_IMAGE}/${DOCKER_IMAGE_NAME} \ --set image.tag=${DOCKER_TAG_NAME} \ --set namespace=${KUBERNETES_NAMESPACE} only: - main