diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1a23ae5ff68bbebb609ee4e672f9b28fd56f9eaa..9681baaab4be98903c743125111e9e3638ea0bea 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -26,15 +26,11 @@ 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)
-    - python3 setup.py setopt --command=metadata --option=version --set-value=$VERSION
+    - export LATEST_TAG=$(git describe --abbrev=0)
+    - export VERSION=$(if [[ "$CI_COMMIT_TAG" == "" ]]; then echo ""; else echo $CI_COMMIT_TAG | cut -c 2-; fi)
+    - if [[ "$VERSION" != "" ]]; then python3 setup.py setopt --command=metadata --option=version --set-value=$VERSION; fi
     - echo VERSION=$VERSION
-    # Get package filename
-    - export WHEEL_NAME=$(python3 setup.py --name | tr '-' '_')
-    - export PACKAGE=$WHEEL_NAME-$VERSION-$PYTHON_TAG-$ABI_TAG-$PLATFORM_TAG.$PACKAGE_EXTENSION
-    - echo PACKAGE=$PACKAGE
     - python3 setup.py bdist_wheel
-    - echo $PACKAGE > dist/.package-name
   only:
     - branches
     - tags
@@ -49,10 +45,12 @@ deploy:
     TWINE_PASSWORD: '$CI_CUSTOM_REGISTRY_PASSWORD'
     TWINE_USERNAME: '$CI_CUSTOM_REGISTRY_USER'
   script:
-    - export PACKAGE=$(cat dist/.package-name)
     - pip3 install twine
-    - python3 -m twine upload --repository-url $KYPO_PYPI_UPLOAD_URL dist/$PACKAGE
+    - python3 -m twine upload --repository-url $KYPO_PYPI_UPLOAD_URL dist/*
   dependencies:
     - build
-  only:
-    - tags
+  rules:
+    - if: $CI_COMMIT_BRANCH == "develop"
+      changes:
+        - setup.cfg
+    - if: $CI_COMMIT_TAG
diff --git a/setup.cfg b/setup.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..8598814082addddf0ee4274197bd86aadc2dd69d
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,2 @@
+[metadata]
+version = v0.1.0rc1