@@ -8,25 +8,23 @@ variables:
88 IMAGE_TAG : $CI_COMMIT_REF_SLUG
99 REPO_NAME : " "
1010
11-
1211# # Build
1312build-image :
1413 stage : build
1514 image : ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/docker:20.10.16
16- services :
15+ services :
1716 - name : docker:20.10.16-dind
1817 variables :
1918 DOCKER_TLS_CERTDIR : " "
2019 before_script :
2120 - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
2221 script :
23- - echo $IMAGE_NAME:$IMAGE_TAG
22+ - echo $IMAGE_NAME:$IMAGE_TAG
2423 - docker build -t $IMAGE_NAME:$IMAGE_TAG .
2524 - docker push $IMAGE_NAME:$IMAGE_TAG
2625 - docker rmi $IMAGE_NAME:$IMAGE_TAG # remove local image from shared runner
2726 - docker logout $CI_REGISTRY
2827
29-
3028# # deploy to k8s staging
3129deploy_to_k8s_staging :
3230 stage : deploy
@@ -35,7 +33,7 @@ deploy_to_k8s_staging:
3533 # create the .kube/ directory
3634 - mkdir -p ~/.kube/
3735 # move the config file to default location
38- - echo $KUBE_CONFIG_INFO | base64 -d > ~/.kube/config
36+ - echo $KUBE_CONFIG_INFO | base64 -d > ~/.kube/config
3937 - unset HTTPS_PROXY
4038 variables :
4139 DOCKER_IMAGE : $IMAGE_NAME:$IMAGE_TAG
@@ -46,7 +44,6 @@ deploy_to_k8s_staging:
4644 - kubectl apply -k ./k8s/overlays/staging
4745 - kubectl rollout restart deployment django-deployment-staging -n tark-staging
4846
49-
5047# # deploy to k8s production
5148deploy_to_k8s_production :
5249 stage : deploy
@@ -55,7 +52,7 @@ deploy_to_k8s_production:
5552 # create the .kube/ directory
5653 - mkdir -p ~/.kube/
5754 # move the config file to default location
58- - echo $KUBE_CONFIG_INFO | base64 -d > ~/.kube/config
55+ - echo $KUBE_CONFIG_INFO | base64 -d > ~/.kube/config
5956 - unset HTTPS_PROXY
6057 variables :
6158 DOCKER_IMAGE : $IMAGE_NAME:$IMAGE_TAG
@@ -67,7 +64,32 @@ deploy_to_k8s_production:
6764 - kubectl rollout restart deployment django-deployment-production -n tark-production
6865
6966 only :
70- - main
71- - migrate_to_k8s
67+ - main
68+ - migrate_to_k8s
69+
70+ when : manual
71+
72+ # # deploy to k8s fallback
73+ deploy_to_k8s_fallback :
74+ stage : deploy
75+ needs : ["build-image"]
76+ before_script :
77+ # create the .kube/ directory
78+ - mkdir -p ~/.kube/
79+ # move the config file to default location
80+ - echo $FB_KUBE_CONFIG_INFO | base64 -d > ~/.kube/config
81+ - unset HTTPS_PROXY
82+ variables :
83+ DOCKER_IMAGE : $IMAGE_NAME:$IMAGE_TAG
84+ image : ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/alpine/k8s:1.25.16
85+ script :
86+ - export KUBECONFIG=~/.kube/config
87+ - sed -i "s#<DOCKER_IMAGE>#${DOCKER_IMAGE}#g" ./k8s/base/app/django-deployment.yaml
88+ - kubectl apply -k ./k8s/overlays/fallback
89+ - kubectl rollout restart deployment django-deployment-fallback -n tark-fallback
90+
91+ only :
92+ - main
93+ - deploy_fallback
7294
7395 when : manual
0 commit comments