stages: - clone - build - deploy clone_occmd: image: alpine/git stage: clone only: - main script: - git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.opencode.de/opencode-analyzer/occmd artifacts: paths: - occmd/ .base: image: name: gcr.io/kaniko-project/executor:debug entrypoint: [""] cache: {} tags: - "opencode-high" before_script: - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json build_sha: extends: .base stage: build only: - main script: - /kaniko/executor --context "${CI_PROJECT_DIR}" --dockerfile "${CI_PROJECT_DIR}/Dockerfile" --destination "${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHORT_SHA}" dependencies: - clone_occmd build_latest: extends: .base stage: build only: - main script: - /kaniko/executor --context "${CI_PROJECT_DIR}" --dockerfile "${CI_PROJECT_DIR}/Dockerfile" --destination "${CI_REGISTRY_IMAGE}:latest" dependencies: - clone_occmd deploy: image: bitnami/kubectl before_script: - export KUBECONFIG=$KUBECONFIG_FILE stage: deploy only: - main script: - kubectl set image -f ./kubernetes/deployment.yaml b-dev-container=registry.opencode.de/opencode-analyzer/data-provider:${CI_COMMIT_SHORT_SHA} --namespace=fraunhofer --local -o yaml | kubectl apply --namespace=fraunhofer -f -