ldc-shared-ci/deploy/kubernetes.yml
thibault.raquet 8544092b03 fix gitlab-ci
2024-02-15 15:49:11 +01:00

107 lines
3 KiB
YAML

.kubernetes:
stage: deploy
image:
name: alpine/k8s:1.26.0
entrypoint: ['']
variables:
KUBE_CONTEXT: ldc-web/cluster-k8s:k8s-ldc-web
KUBE_NAMESPACE: default
before_script:
- kubectl config use-context ${KUBE_CONTEXT}
script:
- envsubst < manifest.yaml | kubectl apply --namespace ${KUBE_NAMESPACE} -f -
.kubernetes_stop:
extends: .kubernetes
script:
- envsubst < manifest.yaml | kubectl delete --namespace ${KUBE_NAMESPACE} -f -
when: manual
environment:
action: stop
kubernetes:review:
extends: .kubernetes
variables:
KUBE_NAMESPACE: review
IMAGE_TAG: "${CI_REGISTRY_IMAGE}:review-${CI_MERGE_REQUEST_IID}"
needs:
- job: docker-build:review
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
when: manual
environment:
name: review/${CI_MERGE_REQUEST_IID}
url: https://${DOMAIN}
on_stop: kubernetes_stop:review
kubernetes_upgrade:review:
extends: kubernetes:review
script:
- envsubst < manifest.yaml | kubectl set image --namespace ${KUBE_NAMESPACE} -f - ${CI_REGISTRY_IMAGE}=${IMAGE_TAG}
kubernetes_stop:review:
extends: .kubernetes_stop
variables:
KUBE_NAMESPACE: review
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
environment:
name: review/${CI_MERGE_REQUEST_IID}
kubernetes:staging:
extends: .kubernetes
variables:
KUBE_NAMESPACE: staging
IMAGE_TAG: "${CI_REGISTRY_IMAGE}:s-${CI_COMMIT_SHA}"
needs:
- job: docker-build:staging
rules:
- if: $CI_COMMIT_BRANCH == "trunk"
when: manual
environment:
name: staging
url: https://${DOMAIN}
on_stop: kubernetes_stop:staging
kubernetes_upgrade:staging:
extends: kubernetes:staging
script:
- envsubst < manifest.yaml | kubectl set image --namespace ${KUBE_NAMESPACE} -f - ${CI_REGISTRY_IMAGE}=${IMAGE_TAG}
kubernetes_stop:staging:
extends: .kubernetes_stop
variables:
KUBE_NAMESPACE: staging
rules:
- if: $CI_COMMIT_BRANCH == "trunk"
environment:
name: staging
kubernetes:prod:
extends: .kubernetes
variables:
KUBE_NAMESPACE: production
IMAGE_TAG: "${CI_REGISTRY_IMAGE}:p-${CI_COMMIT_SHA}"
needs:
- job: docker-build:latest
rules:
- if: $CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "master"
when: manual
environment:
name: production
url: https://${DOMAIN}
#on_stop: kubernetes_stop:production
#kubernetes_stop:production:
# extends: .kubernetes_stop
# variables:
# KUBE_NAMESPACE: production
# rules:
# - if: $CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "master"
# environment:
# name: production
kubernetes_upgrade:prod:
extends: kubernetes:prod
script:
- envsubst < manifest.yaml | kubectl set image --namespace ${KUBE_NAMESPACE} -f - ${CI_REGISTRY_IMAGE}=${IMAGE_TAG}