ldc-shared-ci/deploy/kubernetes.yml

110 lines
3.1 KiB
YAML
Raw Permalink Normal View History

2024-04-15 16:24:55 +00:00
variables:
2024-07-04 17:43:06 +02:00
KUBERNETES_CLUSTER_NAME: prod-k8s-ldc-web
2024-06-26 15:30:37 +00:00
KUBERNETES_VERSION: 1.29.2
2024-04-15 16:24:55 +00:00
.kubernetes:
stage: deploy
image:
2024-04-15 16:24:55 +00:00
name: "alpine/k8s:${KUBERNETES_VERSION}"
entrypoint: ['']
variables:
2024-04-15 16:24:55 +00:00
KUBE_CONTEXT: "ldc-web/cluster-k8s:${KUBERNETES_CLUSTER_NAME}"
KUBE_NAMESPACE: default
2024-06-26 15:30:37 +00:00
CRT_TLS_NAME: "wildcard-k8s-ldc"
2024-07-09 12:12:20 +00:00
REDIRECT:
before_script:
- kubectl config use-context ${KUBE_CONTEXT}
script:
2023-03-03 12:16:06 +00:00
- envsubst < manifest.yaml | kubectl apply --namespace ${KUBE_NAMESPACE} -f -
.kubernetes_stop:
extends: .kubernetes
script:
2023-03-03 12:16:06 +00:00
- envsubst < manifest.yaml | kubectl delete --namespace ${KUBE_NAMESPACE} -f -
when: manual
environment:
action: stop
2024-08-06 07:40:42 +00:00
# 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
2024-08-06 07:40:42 +00:00
# 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
2023-08-24 11:51:14 +00:00
IMAGE_TAG: "${CI_REGISTRY_IMAGE}:s-${CI_COMMIT_SHA}"
needs:
- job: docker-build:staging
rules:
- if: $CI_COMMIT_BRANCH == "trunk"
script:
- envsubst < manifest.yaml | kubectl apply --namespace ${KUBE_NAMESPACE} -f -
- envsubst < staging-resources.yaml | kubectl apply --namespace ${KUBE_NAMESPACE} -f -
when: manual
environment:
name: staging
2023-03-03 12:01:06 +00:00
url: https://${DOMAIN}
2023-03-03 11:26:48 +00:00
on_stop: kubernetes_stop:staging
2023-03-03 11:26:48 +00:00
kubernetes_stop:staging:
extends: .kubernetes_stop
variables:
KUBE_NAMESPACE: staging
2023-03-03 11:26:48 +00:00
rules:
- if: $CI_COMMIT_BRANCH == "trunk"
environment:
name: staging
kubernetes:prod:
extends: .kubernetes
variables:
KUBE_NAMESPACE: production
2023-08-24 11:51:14 +00:00
IMAGE_TAG: "${CI_REGISTRY_IMAGE}:p-${CI_COMMIT_SHA}"
2024-06-26 15:30:37 +00:00
CRT_TLS_NAME: "${APP_DOMAIN}"
2024-07-09 12:12:20 +00:00
REDIRECT: "www."
needs:
- job: docker-build:latest
rules:
2023-03-03 15:10:56 +00:00
- if: $CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "master"
2024-06-26 13:35:50 +02:00
script:
- envsubst < manifest.yaml | kubectl apply --namespace ${KUBE_NAMESPACE} -f -
2024-06-26 13:26:42 +00:00
- envsubst < production-resources.yaml | kubectl apply --namespace ${KUBE_NAMESPACE} -f -
when: manual
environment:
name: production
2023-03-03 12:01:06 +00:00
url: https://${DOMAIN}
2023-03-14 10:10:05 +00:00
#on_stop: kubernetes_stop:production
2023-03-03 15:10:56 +00:00
#kubernetes_stop:production:
# extends: .kubernetes_stop
# variables:
# KUBE_NAMESPACE: production
# rules:
# - if: $CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "master"
# environment:
# name: production