Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.14 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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:
    
    Phil Höfer's avatar
    Phil Höfer committed
        - 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