diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a5368e15c7f5634db0f8a84ce8ff2d2cf5b7ef77..7081fd924016b7417563b3e9cd8dde286117c2d7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -27,21 +27,30 @@ before_script:
 
 stages:
   - pages
+  - deploy
 
 pages:
   tags:
     - docker-executor
   stage: pages
-  variables:
-    TWINE_USERNAME: $TWINE_USERNAME
-    TWINE_PASSWORD: $TWINE_PASSWORD
   script:
     - make test
     - ls -la
     - mv build public
     - mv public/lmcbaseclasses_htmlcov/* public
     - make push
-    - twine upload --repository-url $PYPI_REPOSITORY_URL dist_test/*
   artifacts:
     paths:
       - public
+
+registry_deploy:
+  tags:
+    - docker-executor
+  stage: deploy
+  variables:
+    TWINE_USERNAME: $TWINE_USERNAME
+    TWINE_PASSWORD: $TWINE_PASSWORD
+  script:
+    - twine upload --repository-url $PYPI_REPOSITORY_URL dist_test/*
+  only:
+    - tags
\ No newline at end of file