92 lines
2.3 KiB
YAML
92 lines
2.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
|
|
needs:
|
|
- job: docker-build:review
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
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
|
|
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
|
|
needs:
|
|
- job: docker-build:latest
|
|
rules:
|
|
- if: $CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "master" || $CI_COMMIT_TAG != null
|
|
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" || $CI_COMMIT_TAG != null
|
|
environment:
|
|
name: production
|
|
|