diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2c13426dc3e0500cc7d53391b846d43c0cb745fc..99a23ebb141f5d2eeab52202a0ea9e4b96c475eb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -17,4 +17,25 @@ build: - docker tag "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME/polls:${CI_COMMIT_SHORT_SHA}" "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME/polls:latest" - docker push "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME/polls:${CI_COMMIT_SHORT_SHA}" tags: - - k8s \ No newline at end of file + - k8s + +deploy: + stage: deploy + image: registry-gitlab.pasteur.fr/dsi-tools/docker-images:docker_kubernetes_image + variables: + NAMESPACE: ${GITLAB_USER_LOGIN}-${CI_PROJECT_NAME} + environment: + name: ${GITLAB_USER_LOGIN}-${CI_PROJECT_NAME} + url: https://${GITLAB_USER_LOGIN}-${CI_PROJECT_NAME}.k8s-dev.pasteur.fr + script: + - kubectl delete secret registry-gitlab -n ${NAMESPACE} --ignore-not-found=true + - kubectl create secret docker-registry -n ${NAMESPACE} registry-gitlab --docker-server=registry-gitlab.pasteur.fr --docker-username=${DEPLOY_USER} --docker-password=${DEPLOY_TOKEN} --docker-email=kubernetes@pasteur.fr + - envsubst < postgresql.yaml | kubectl apply -n ${NAMESPACE} -f - + - kubectl wait --for=condition=available --timeout=600s deployment/postgresql + - kubectl delete job polls-migrations -n ${NAMESPACE} --ignore-not-found=true + - envsubst < job.yaml | kubectl apply -n ${NAMESPACE} -f - + - kubectl wait --for=condition=complete --timeout=600s job/polls-migrations + - envsubst < polls.yaml | kubectl apply -n ${NAMESPACE} -f - + - kubectl patch deployment polls -p "{\"spec\":{\"template\":{\"metadata\":{\"labels\":{\"date\":\"`date +'%s'`\"}}}}}" + tags: + - k8s