diff --git a/api/package.json b/api/package.json
index 1885442d70f4ac545ac7fc662ec9bef27d1d21de..17014934ac0a2a2cf699f54cf6c72f48aff27b3e 100644
--- a/api/package.json
+++ b/api/package.json
@@ -39,9 +39,13 @@
     "rxjs": "^7.2.0"
   },
   "devDependencies": {
+    "@eclass/semantic-release-docker": "^2.0.0",
     "@nestjs/cli": "^8.0.0",
     "@nestjs/schematics": "^8.0.0",
     "@nestjs/testing": "^8.0.0",
+    "@semantic-release/changelog": "^6.0.1",
+    "@semantic-release/git": "^10.0.1",
+    "@semantic-release/gitlab": "^7.0.4",
     "@types/express": "^4.17.13",
     "@types/jest": "^27.0.1",
     "@types/node": "^16.0.0",
@@ -77,5 +81,64 @@
     ],
     "coverageDirectory": "../coverage",
     "testEnvironment": "node"
+  },
+  "release": {
+    "plugins": [
+      "@semantic-release/commit-analyzer",
+      "@semantic-release/release-notes-generator",
+      "@semantic-release/changelog",
+      "@semantic-release/gitlab",
+      "@semantic-release/npm",
+      "@semantic-release/git",
+      [
+        "@eclass/semantic-release-docker",
+        {
+          "baseImageName": "gateway-semantic",
+          "registries": [
+            {
+              "url": "registry.gitlab.com",
+              "imageName": "registry.gitlab.com/sibmip/gateway-semantic-release",
+              "user": "CI_REGISTRY_USER",
+              "password": "CI_REGISTRY_PASSWORD"
+            },
+            {
+              "url": "docker.io",
+              "imageName": "docker.io/myuser/myapp",
+              "user": "DOCKER_REGISTRY_USER",
+              "password": "DOCKER_REGISTRY_PASSWORD"
+            }
+          ],
+          "additionalTags": [
+            "next",
+            "beta"
+          ]
+        }
+      ]
+    ],
+    "branches": [
+      "main",
+      "+([0-9])?(.{+([0-9]),x}).x",
+      {
+        "name": "rc",
+        "prerelease": true
+      },
+      {
+        "name": "develop",
+        "prerelease": true
+      }
+    ],
+    "prepare": [
+      "@semantic-release/changelog",
+      "@semantic-release/npm",
+      {
+        "path": "@semantic-release/git",
+        "assets": [
+          "package.json",
+          "package-lock.json",
+          "../CHANGELOG.md"
+        ],
+        "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
+      }
+    ]
   }
 }