ldc-shared-ci/deploy/kubernetes.yml
Vincent BRIDIER fd0a3d5475 update deploy
2023-08-24 11:51:14 +00:00

95 lines
2.4 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_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_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