-
Remi PLANEL authoredRemi PLANEL authored
.gitlab-ci.yml 8.47 KiB
# Functions that should be executed before the build script is run
variables:
HELM_VERSION: "3.9.3"
IMAGE_NAME: "df-wiki"
# dev
HOST_DEV: 'defense-finder.dev.pasteur.cloud'
MEILI_HOST_DEV: 'defense-finder-meilisearch.dev.pasteur.cloud'
# prod
HOST_PROD: 'defense-finder.pasteur.cloud'
MEILI_HOST_PROD: 'defense-finder-meilisearch.pasteur.cloud'
cache:
paths:
- node_modules/
- .output/public
stages:
- get-data
- format-data
- deploy-meilisearch
- update-meilisearch-indexes
- get-meili-key
- build
- deploy
.docker-login: &docker-login
- i=0; while [ "$i" -lt 12 ]; do docker info && break; sleep 5; i=$(( i + 1 )) ; done
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
################ DEPLOY MEILISEARCH #################
.deploy:meilisearch:
stage: deploy-meilisearch
image: harbor.pasteur.fr/kube-system/helm-kubectl:$HELM_VERSION
variables:
CI_DEBUG_TRACE: "false"
ENV: development
before_script:
- helm dependency update deploy/meilisearch/
script:
- >
helm upgrade --install
${CI_PROJECT_NAME}-${CI_ENVIRONMENT_NAME}-meilisearch
./deploy/meilisearch
--namespace=${KUBE_NAMESPACE}
--set meilisearch.ingress.hosts[0]=${PUBLIC_URL}
--set meilisearch.environment.MEILI_MASTER_KEY=${MEILI_MASTER_KEY}
--set env=${ENV:-development}
--values deploy/meilisearch/values.yaml
--values deploy/meilisearch/values.${ENV:-development}.yaml
# wait for it to start
- MEILI_POD=$(kubectl -n=${KUBE_NAMESPACE} get po -l app.kubernetes.io\/instance=${CI_PROJECT_NAME}-${CI_ENVIRONMENT_NAME}-meilisearch,app.kubernetes.io\/name=meilisearch --output jsonpath='{.items[0].metadata.name}')
- |
until kubectl -n=${KUBE_NAMESPACE} wait --for=condition=ready pod ${MEILI_POD} --timeout=1s
do
date
sleep 1
kubectl -n=${KUBE_NAMESPACE} get po
done
deploy:meilisearch:dev:
extends: .deploy:meilisearch