diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index da819f8e0c9c646f5e874b30ff1922450e45021f..488ae57d17df97918b91099eb4422742416ba445 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,8 +1,11 @@
+default:
+  image: node:20
+  before_script:
+    - npm install
+
 test:
   stage: test
-  image: node:20
   script:
-    - npm install
     - npm run-script download_jar
     - npm run-script package
   artifacts:
@@ -12,3 +15,12 @@ test:
   cache:
     paths:
       - node_modules
+
+deploy:
+  stage: deploy
+  needs:
+    - test
+  script:
+    - npm exec vsce -- publish --packagePath b-language-extension-*.vsix
+  only:
+    - release@general/stups/b_language_extension