diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1a23ae5ff68bbebb609ee4e672f9b28fd56f9eaa..477f3da01d3875b5eca6ef4c3afad35a52947847 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -26,7 +26,9 @@ build:
   stage: build
   script:
     # Get version. Variable CI_COMMIT_TAG is set only when tag was pushed.
-    - export VERSION=$(if [[ "$CI_COMMIT_TAG" == "" ]]; then echo 0.0.0; else echo $CI_COMMIT_TAG | cut -c 2-; fi)
+    - export LATEST_TAG=$(git describe --abbrev=0)
+    - export VERSION=$(if [[ "$CI_COMMIT_TAG" == "" ]]; then echo $LATEST_TAG; else echo $CI_COMMIT_TAG; fi)
+    - export VERSION=$(echo $VERSION | cut -c 2-)
     - python3 setup.py setopt --command=metadata --option=version --set-value=$VERSION
     - echo VERSION=$VERSION
     # Get package filename
@@ -54,5 +56,6 @@ deploy:
     - python3 -m twine upload --repository-url $KYPO_PYPI_UPLOAD_URL dist/$PACKAGE
   dependencies:
     - build
-  only:
-    - tags
+  rules:
+    - if: $CI_COMMIT_BRANCH == "develop"
+    - if: $CI_COMMIT_TAG