From ca0e7330ebca58768044d650fadeec0d5be5f8db Mon Sep 17 00:00:00 2001 From: Remi PLANEL <rplanel@pasteur.fr> Date: Tue, 30 Jan 2024 14:01:41 +0100 Subject: [PATCH] add a post-deploy stage --- .gitlab-ci.yml | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2ac45885..1844384f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -41,6 +41,7 @@ stages: - deploy-meilisearch - update-meilisearch-indexes - deploy + - post-deploy .docker-login: &docker-login - i=0; while [ "$i" -lt 12 ]; do docker info && break; sleep 5; i=$(( i + 1 )) ; done @@ -381,12 +382,11 @@ build:prod:wiki: --values deploy/df-wiki/values.yaml --values deploy/df-wiki/values.${ENV:-development}.yaml after_script: + - sleep 30 - kubectl --namespace ${KUBE_NAMESPACE} wait pod -l "app.kubernetes.io/name=df-wiki" --for condition=Ready --timeout=600s - echo "Wiki pod is ready" - WIKI_POD=$(kubectl --namespace ${KUBE_NAMESPACE} get pods -l "app.kubernetes.io/name=df-wiki" --output jsonpath='{.items[0].metadata.name}') - echo ${WIKI_POD} - # - kubectl --namespace ${KUBE_NAMESPACE} cp scripts/copy-structure-data.sh ${WIKI_POD}:/structure-data/sanitized-dump - - sleep 30 - kubectl --namespace ${KUBE_NAMESPACE} exec ${WIKI_POD} -- rsync -avz /public-website/ /usr/share/nginx/html/ - kubectl --namespace ${KUBE_NAMESPACE} exec ${WIKI_POD} -- bash -c "cd /usr/share/nginx/html/ && find ./ -name '*.pdb' -exec tar -czvf /usr/share/nginx/html/df-all-pdbs.tar.gz {} +" @@ -459,3 +459,32 @@ delete-helm-release:prod: - echo "Removing $CI_PROJECT_NAME-$CI_ENVIRONMENT_NAME" - helm delete -n ${NAMESPACE} $CI_PROJECT_NAME-$CI_ENVIRONMENT_NAME + + +.post-deploy: + stage: post-deploy + image: harbor.pasteur.fr/kube-system/helm-kubectl:$HELM_VERSION + variables: + CI_DEBUG_TRACE: "false" + TEAM_ID: "df" + script: + - kubectl --namespace ${KUBE_NAMESPACE} wait pod -l "app.kubernetes.io/name=df-wiki" --for condition=Ready --timeout=600s + - echo "Wiki pod is ready" + - WIKI_POD=$(kubectl --namespace ${KUBE_NAMESPACE} get pods -l "app.kubernetes.io/name=df-wiki" --output jsonpath='{.items[0].metadata.name}') + - echo ${WIKI_POD} + - kubectl --namespace ${KUBE_NAMESPACE} exec ${WIKI_POD} -- rsync -avz /public-website/ /usr/share/nginx/html/ + - kubectl --namespace ${KUBE_NAMESPACE} exec ${WIKI_POD} -- bash -c "cd /usr/share/nginx/html/ && find ./ -name '*.pdb' -exec tar -czvf /usr/share/nginx/html/df-all-pdbs.tar.gz {} +" + +post-deploy:dev: + extends: .post-deploy + needs: + - "deploy:dev" + variables: + NODE_ENV: "development" + KUBE_NAMESPACE: "defense-finder-dev" + PUBLIC_URL: "${HOST_DEV}" + CI_DEBUG_TRACE: "true" + ENV: "development" + environment: + name: k8sdev-01 + url: "https://${HOST_DEV}" -- GitLab