diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a61ea940284434f7d9a6c89b702105910673f3b1..4f73448916dd4274a49e468797593568fff6eca7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -26,7 +26,8 @@ deploy:
     - yum install -y gettext
     - 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 
-    - envsubst < manifest.yaml | kubectl apply -f -
+    - envsubst < manifest.yaml | kubectl apply -n ${NAMESPACE} -f -
+    - kubectl delete job polls-migrations -n ${NAMESPACE} --ignore-not-found=true
+    - envsubst < job.yaml | kubectl apply -n ${NAMESPACE} -f -
     - kubectl patch deployment polls -p "{\"spec\":{\"template\":{\"metadata\":{\"labels\":{\"date\":\"`date +'%s'`\"}}}}}"
 
diff --git a/job.yaml b/job.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..3cf5c31af4d2b83c837eb5f15382576b7173a943
--- /dev/null
+++ b/job.yaml
@@ -0,0 +1,38 @@
+---
+apiVersion: batch/v1
+kind: Job
+metadata:
+  name: polls-migrations
+spec:
+  template:
+      spec:
+        containers:
+            - name: django
+              image: $CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME/polls:${CI_COMMIT_SHORT_SHA}
+              command: ['python', '/app/manage.py', 'migrate']
+              env:
+              - name: DATABASE_HOST
+                value: postgresql
+              - name: DATABASE_NAME
+                valueFrom:
+                  secretKeyRef:
+                    name: postgresql-credentials
+                    key: database
+              - name: DATABASE_USER
+                valueFrom:
+                  secretKeyRef:
+                    name: postgresql-credentials
+                    key: username
+              - name: DATABASE_PASSWORD
+                valueFrom:
+                  secretKeyRef:
+                    name: postgresql-credentials
+                    key: password
+        restartPolicy: Never
+        imagePullSecrets:
+          - name: registry-gitlab
+        volumes:
+        - name: postgresql-credentials
+          secret:
+            secretName: postgresql
+  backoffLimit: 5
diff --git a/manifest.yaml b/manifest.yaml
index 2fb5ff22db2301b9999a454286f5317ced97594b..702d7f5d12e52467d56b148e37ec0b0a047a6822 100644
--- a/manifest.yaml
+++ b/manifest.yaml
@@ -181,41 +181,3 @@ spec:
           serviceName: polls
           servicePort: 8080
         path: /
----
-apiVersion: batch/v1
-kind: Job
-metadata:
-  name: polls-migrations
-spec:
-  template:
-      spec:
-        containers:
-            - name: django
-              image: $CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME/polls:${CI_COMMIT_SHORT_SHA}
-              command: ['python', '/app/manage.py', 'migrate']
-              env:
-              - name: DATABASE_HOST
-                value: postgresql
-              - name: DATABASE_NAME
-                valueFrom:
-                  secretKeyRef:
-                    name: postgresql-credentials
-                    key: database
-              - name: DATABASE_USER
-                valueFrom:
-                  secretKeyRef:
-                    name: postgresql-credentials
-                    key: username
-              - name: DATABASE_PASSWORD
-                valueFrom:
-                  secretKeyRef:
-                    name: postgresql-credentials
-                    key: password
-        restartPolicy: Never
-        imagePullSecrets:
-          - name: registry-gitlab
-        volumes:
-        - name: postgresql-credentials
-          secret:
-            secretName: postgresql
-  backoffLimit: 5