diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3631693869f925273e5f6160efe8ebd79e82867b..adbfe6557c59ce7c1aa751452757ac962e56be48 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -21,10 +21,14 @@ test:
   script:
     - "./gradlew assembleRelease -x lintRelease -x lintVitalRelease"
     - "cp app/build/outputs/apk/release/*.apk ."
+    - "export VERSION_NAME=$(git describe --abbrev=0 --tags HEAD)"
+    - "export VERSION_CODE=$(git rev-list --count $VERSION_NAME)"
+    - "echo \"{\\\"name\\\":\\\"$VERSION_NAME\\\",\\\"code\\\":$VERSION_CODE}\" > version.json"
     - "./gradlew check -x connectedCheck --stacktrace"
   artifacts:
     paths:
       - "*.apk"
+      - "version.json"
       - "*/build/test-results/**/TEST-*.xml"
       - "*/build/reports/*.xml"
     reports:
@@ -45,6 +49,7 @@ deploy-local:
     - "echo $S3_CONFIG | base64 -d > $HOME/.s3cfg"
     - "export VERSION=$(ls *.apk)"
     - "s3cmd put $VERSION s3://releases/quasseldroid-ng/$VERSION"
+    - "s3cmd put version.json s3://releases/quasseldroid-ng/version.json"
     - "s3cmd cp s3://releases/quasseldroid-ng/$VERSION s3://releases/quasseldroid-ng/Quasseldroid-latest.apk"
   rules:
     - if: "$CI_COMMIT_BRANCH == 'main' && $S3_CONFIG != ''"