diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5e8e5a8248356fa2145c90a9875d862958cd796b..c3f208c26cf24ac9c901cd45e1811bfcaedc80c3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -354,7 +354,26 @@ build:prod:wiki: - if: $CI_COMMIT_BRANCH == "main" - +build-wiki:dev: + stage: build-wiki + needs: + - set-meili-env:dev + - get-zotero + image: node:21.1-bookworm-slim + variables: + NODE_OPTIONS: --max_old_space_size=12288 + NUXT_APP_BASE_URL: /wiki/ + NUXT_PUBLIC_MEILISEARCH_CLIENT_HOST_URL: ${MEILI_HOST} + NUXT_PUBLIC_MEILISEARCH_CLIENT_SEARCH_API_KEY: ${MEILI_API_KEY} + NUXT_PUBLIC_MEILI_HOST: ${MEILI_HOST} + NUXT_PUBLIC_MEILI_API_KEY: ${MEILI_API_KEY} + before_script: + - npm install + script: + - npm run generate + artifacts: + paths: + - .output/public build-wiki:prod: stage: build-wiki @@ -381,6 +400,9 @@ build-wiki:prod: load-website:dev: image: harbor.pasteur.fr/kube-system/helm-kubectl:$HELM_VERSION stage: load-website + needs: + - build-wiki:dev + - deploy:dev variables: NAMESPACE: "defense-finder-dev" environment: @@ -388,9 +410,13 @@ load-website:dev: rules: - if: $CI_COMMIT_BRANCH != "main" script: - - kubectl wait pod -l "app.kubernetes.io/name=df-wiki" --for condition=Ready --timeout=600s --namespace ${NAMESPACE} + - kubectl --namespace ${NAMESPACE} wait pod -l "app.kubernetes.io/name=df-wiki" --for condition=Ready --timeout=600s - echo "Le pod est ready" - + - WIKI_POD=$(kubectl --namespace ${NAMESPACE} get pods -l "app.kubernetes.io/name=df-wiki" --output jsonpath='{.items[0].metadata.name}') + - kubectl --namespace ${NAMESPACE} cp .output/public/ ${WIKI_POD}:/website + - | + kubectl --namespace ${NAMESPACE} + exec ${WIKI_POD} -- bash -c 'cd /structure-data/sanitized-dump && find * -type d -exec sh -c "for d in "$@"; do (cd "/usr/share/nginx/html/$d"; cp --archive --recursive --symbolic-link /structure-data/sanitized-dump/$d/* .) done" argv0 {} +' load-website:prod: @@ -415,6 +441,8 @@ load-website:prod: exec ${WIKI_POD} -- bash -c 'cd /structure-data/sanitized-dump && find * -type d -exec sh -c "for d in "$@"; do (cd "/usr/share/nginx/html/$d"; cp --archive --recursive --symbolic-link /structure-data/sanitized-dump/$d/* .) done" argv0 {} +' + + ################ DEPLOY ########################## .deploy: stage: deploy