diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 737eceecf2f9c23cd86b352705d139488f1046bb..d3d8486483b524b01fb7acbb96c96d92008783c2 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,12 +4,16 @@ include:
     file:
       - ".gitlab/ci/static-analysis.yml"
       - ".gitlab/ci/doc.yml"
+      - ".gitlab/ci/pip.yml"
 
 variables:
   IMPL_MODULE_NAME: theia_dumper
 
   PYTHON_IMG: python:3.12-slim
   PACKAGE_INSTALL_EXTRAS: "[test]"
+  PIP_PACKAGE_URL: "https://upload.pypi.org/legacy/"
+  TWINE_USERNAME: __token__
+  TWINE_PASSWORD: ${PYPI_TOKEN} 
 
   DOC_BUILD_SELF: true
 
@@ -53,13 +57,3 @@ Pytest:
         coverage_format: cobertura
         path: coverage.xml
       junit: report.xml
-
-pypi:
-  image: python:3.12-slim
-  stage: Pip
-  only:
-   - tags
-  script:
-   - python -m pip install --upgrade build twine
-   - python -m build
-   - python -m twine upload --repository-url https://upload.pypi.org/legacy/ --non-interactive --verbose -u __token__ -p ${PYPI_TOKEN} dist/*
diff --git a/theia_dumper/__init__.py b/theia_dumper/__init__.py
index 4c4eaf0cea3f55ec395b6f92756f52009ddc9e00..f56342c67a448f37bb4dc963c59b6040c9101c50 100644
--- a/theia_dumper/__init__.py
+++ b/theia_dumper/__init__.py
@@ -1,3 +1,3 @@
 """Theia dumper package."""
 
-__version__ = "0.2.2"
+__version__ = "0.2.3"