diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 57a17c4c27ad7aeb5ca5dd526ef0cb928d4e404a..b96d8d73e7bd975e9b5dfc5429f7e408944a4d6b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -5,8 +5,9 @@ variables:
 stages:
   - build
   - test
+  - package
 
-.build-python:
+.build:
   stage: build
   script:
     - yum -y install zlib-devel bzip2-devel openssl-devel readline-devel ncurses-devel sqlite-devel gdbm-devel db4-devel expat-devel libpcap-devel xz-devel pcre-devel libffi-devel tk-devel
@@ -26,61 +27,112 @@ stages:
   artifacts:
     name: ${NAME}
     paths:
-      - ${PYTHON_ROOT}/
+      - ${NAME}
 
-.test-python:
+.test:
   stage: test
   script:
-    - ${CI_PROJECT_DIR}/python-${PYTHON_VERSION}-*/bin/python --version | grep ${PYTHON_VERSION}
+    - ${NAME}/bin/python --version | grep ${PYTHON_VERSION}
+
+.package:
+  stage: package
+  script:
+    - cd ${CI_PROJECT_DIR}/${NAME}
+    - zip -r --symlinks ../${NAME}.zip *
+    - 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file ../${NAME}.zip "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/python/${PYTHON_VERSION}/"'
 
 linux-el6-x86_64:
-  extends: [".build-python"]
+  extends: [".build"]
   image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el6-gcc44
   variables:
-    NAME: "python-${PYTHON_VERSION}-${CI_JOB_NAME}"
+    NAME: "python-${PYTHON_VERSION}-linux-el6-x86_64"
     PYTHON_ROOT: "${CI_PROJECT_DIR}/${NAME}"
 
 test-el6-x86_64:
-  extends: [".test-python"]
+  extends: [".test"]
+  image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el6-gcc44
+  variables:
+    NAME: "python-${PYTHON_VERSION}-linux-el6-x86_64"
+  needs:
+    - linux-el6-x86_64
+
+package-el6-x86_64:
+  extends: [".package"]
   image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el6-gcc44
+  variables:
+    NAME: "git-${GIT_VERSION}-linux-el6-x86_64"
   needs:
     - linux-el6-x86_64
+    - test-el6-x86_64
 
 linux-el6-i686:
-  extends: [".build-python"]
+  extends: [".build"]
   image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el6-gcc44-x86
   variables:
     NAME: "python-${PYTHON_VERSION}-${CI_JOB_NAME}"
     PYTHON_ROOT: "${CI_PROJECT_DIR}/${NAME}"
 
 test-el6-i686:
-  extends: [".test-python"]
+  extends: [".test"]
+  image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el6-gcc44-x86
+  variables:
+    NAME: "python-${PYTHON_VERSION}-linux-el6-i686"
+  needs:
+    - linux-el6-i686
+
+package-el6-i686:
+  extends: [".package"]
   image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el6-gcc44-x86
+  variables:
+    NAME: "git-${GIT_VERSION}-linux-el6-i686"
   needs:
     - linux-el6-i686
+    - test-el6-i686
 
 linux-el7-x86_64:
-  extends: [".build-python"]
+  extends: [".build"]
   image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el7-gcc48
   variables:
-    NAME: "python-${PYTHON_VERSION}-${CI_JOB_NAME}"
+    NAME: "python-${PYTHON_VERSION}-linux-el7-x86_64"
     PYTHON_ROOT: "${CI_PROJECT_DIR}/${NAME}"
 
 test-el7-x86_64:
-  extends: [".test-python"]
+  extends: [".test"]
+  image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el7-gcc48
+  variables:
+    NAME: "python-${PYTHON_VERSION}-linux-el7-x86_64"
+  needs:
+    - linux-el7-x86_64
+
+package-el7-x86_64:
+  extends: [".package"]
   image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el7-gcc48
+  variables:
+    NAME: "git-${GIT_VERSION}-linux-el7-x86_64"
   needs:
     - linux-el7-x86_64
+    - test-el7-x86_64
 
 linux-el7-i686:
-  extends: [".build-python"]
+  extends: [".build"]
   image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el7-gcc48-x86
   variables:
     NAME: "python-${PYTHON_VERSION}-${CI_JOB_NAME}"
     PYTHON_ROOT: "${CI_PROJECT_DIR}/${NAME}"
 
 test-el7-i686:
-  extends: [".test-python"]
+  extends: [".test"]
   image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el7-gcc48-x86
+  variables:
+    NAME: "python-${PYTHON_VERSION}-linux-el7-i686"
+  needs:
+    - linux-el7-i686
+
+package-el7-i686:
+  extends: [".package"]
+  image: gitlab-registry.synchrotron-soleil.fr/software-control-system/containers/dev-el7-gcc48-x86
+  variables:
+    NAME: "git-${GIT_VERSION}-linux-el7-i686"
   needs:
     - linux-el7-i686
+    - test-el7-i686