diff --git a/solution/.gitlab-ci.yml b/solution/.gitlab-ci.yml
index a0dcbd2b859e1dd5a27618e824caf1f9570dfb97..654f95afdb4512e800d1accbd610b3b7a0efb1e0 100644
--- a/solution/.gitlab-ci.yml
+++ b/solution/.gitlab-ci.yml
@@ -18,15 +18,17 @@ deploy:
   stage: deploy
   image: registry-gitlab.pasteur.fr/dsi-tools/docker-images:docker_kubernetes_image
   variables:
-    NAMESPACE: "tmenard-django"
+    NAMESPACE: ${GITLAB_USER_LOGIN}-${CI_PROJECT_NAME}
   environment:
-    name: tmenard-django
-    url: https://tmenard-django.k8s-dev.pasteur.fr
+    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 < manifest.yaml | kubectl apply -n ${NAMESPACE} -f -
+    - 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'`\"}}}}}"
-