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
|
|
|
|
2023-02-28 12:09:24 +00:00
|
|
|
.kubernetes:
|
|
|
|
|
stage: deploy
|
|
|
|
|
image:
|
2024-04-15 16:24:55 +00:00
|
|
|
name: "alpine/k8s:${KUBERNETES_VERSION}"
|
2023-02-28 12:09:24 +00:00
|
|
|
entrypoint: ['']
|
|
|
|
|
variables:
|
2024-04-15 16:24:55 +00:00
|
|
|
KUBE_CONTEXT: "ldc-web/cluster-k8s:${KUBERNETES_CLUSTER_NAME}"
|
2023-02-28 12:09:24 +00:00
|
|
|
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:
|
2023-02-28 12:09:24 +00:00
|
|
|
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 -
|
2023-02-28 12:09:24 +00:00
|
|
|
|
|
|
|
|
.kubernetes_stop:
|
|
|
|
|
extends: .kubernetes
|
|
|
|
|
script:
|
2023-03-03 12:16:06 +00:00
|
|
|
- envsubst < manifest.yaml | kubectl delete --namespace ${KUBE_NAMESPACE} -f -
|
2023-02-28 12:09:24 +00:00
|
|
|
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
|
2023-02-28 12:09:24 +00:00
|
|
|
|
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}
|
2023-02-28 12:09:24 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
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}"
|
2023-03-02 17:24:55 +00:00
|
|
|
needs:
|
|
|
|
|
- job: docker-build:staging
|
2023-02-28 12:09:24 +00:00
|
|
|
rules:
|
|
|
|
|
- if: $CI_COMMIT_BRANCH == "trunk"
|
2025-09-26 15:15:40 +02:00
|
|
|
script:
|
|
|
|
|
- envsubst < manifest.yaml | kubectl apply --namespace ${KUBE_NAMESPACE} -f -
|
|
|
|
|
- envsubst < staging-resources.yaml | kubectl apply --namespace ${KUBE_NAMESPACE} -f -
|
2023-03-02 17:24:55 +00:00
|
|
|
when: manual
|
2023-02-28 12:09:24 +00:00
|
|
|
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-02-28 12:09:24 +00:00
|
|
|
|
2023-03-03 11:26:48 +00:00
|
|
|
kubernetes_stop:staging:
|
2023-02-28 12:09:24 +00:00
|
|
|
extends: .kubernetes_stop
|
|
|
|
|
variables:
|
|
|
|
|
KUBE_NAMESPACE: staging
|
2023-03-03 11:26:48 +00:00
|
|
|
rules:
|
|
|
|
|
- if: $CI_COMMIT_BRANCH == "trunk"
|
2023-02-28 12:09:24 +00:00
|
|
|
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."
|
2023-03-02 17:24:55 +00:00
|
|
|
needs:
|
|
|
|
|
- job: docker-build:latest
|
2023-02-28 12:09:24 +00:00
|
|
|
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 -
|
2023-03-02 17:24:55 +00:00
|
|
|
when: manual
|
2023-02-28 12:09:24 +00:00
|
|
|
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-02-28 12:09:24 +00:00
|
|
|
|
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
|