diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4868ca4a151976f678844d6a094958e6290de1a3..bb6d932504552f4505a83d66f2f25edad5ca3287 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,7 +3,36 @@ variables:
   IMAGE_TAG_HELM_FILE: "helm/staging/graphpolaris-frontend/values.yaml"
   IMAGE_TAG_HELM_FILE_VARIABLE: "image.tag"
 
-include:
-  - project: 'graphpolaris/pipelines'
-    ref: main
-    file: 'docker-build-push.yml'
+#include:
+#  - project: 'graphpolaris/pipelines'
+#    ref: main
+#    file: 'docker-build-push.yml'
+
+stages:
+  - tag-release
+
+release:
+  image: node:20-bookworm-slim
+  stage: tag-release
+  tags:
+    - gp-runners
+  before_script:
+    - apt-get update && apt-get install -y --no-install-recommends git-core ca-certificates
+    - mv package.json package.json.tmp | true
+    - mv package-semantic-release.json package.json
+    - npm install
+#    - npm install -g semantic-release@21.1.1 @semantic-release/gitlab-config@12.0.1 @semantic-release/exec@6.0.3
+    - mv package.json package-semantic-release.json
+    - mv package.json.tmp package.json | true
+  script:
+    # Configuration is in .releaserc.json
+    - npx semantic-release
+#    - semantic-release
+  artifacts:
+    paths:
+      - version.txt
+  rules:
+    # Run if .releaserc.json exists
+    - exists:
+        - .releaserc.json
+#        - package-semantic-release.json
diff --git a/.releaserc.json b/.releaserc.json
new file mode 100644
index 0000000000000000000000000000000000000000..d8cc936ea9cf35351b88c58d963b2ab3594c401e
--- /dev/null
+++ b/.releaserc.json
@@ -0,0 +1,28 @@
+{
+  "branches": [
+    "master",
+    {
+      "name": "beta",
+      "prerelease": true
+    },
+    {
+      "name": "alpha",
+      "prerelease": true
+    },
+    "feat/add-semantic-release"
+  ],
+  "extends": [
+    "@semantic-release/gitlab-config"
+  ],
+  "dryRun": true,
+  "plugins": [
+    "@semantic-release/commit-analyzer",
+    "@semantic-release/release-notes-generator",
+    [
+      "@semantic-release/exec",
+      {
+        "successCmd": "echo ${nextRelease.version} > version.txt"
+      }
+    ]
+  ]
+}
diff --git a/package-semantic-release.json b/package-semantic-release.json
new file mode 100644
index 0000000000000000000000000000000000000000..8970f6e9ca11c1b1a1be015df26b882b4287ec1e
--- /dev/null
+++ b/package-semantic-release.json
@@ -0,0 +1,7 @@
+{
+  "dependencies": {
+    "semantic-release": "^21.0.0",
+    "@semantic-release/gitlab-config": "^12.0.0",
+    "@semantic-release/exec": "^6.0.0"
+  }
+}