diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 2571797372a0b8e9373f201fc89a0a5b1244c79d..d9a7d07f612348924e2fba2388c641a027f15625 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,20 +1,16 @@
+include:
+  - project: '${HELPERS_PATH}'
+    file: svdh-cicd.yml
+
 variables:
-  HELPERS_FILE: docker-build.yml
-  APP_HELM_NAME: infohub
-  DOCKER_FILE: deployment/ci/Dockerfile
+  RUNNER_AMD: amd64-docker
+  DOCKER_FILE: ./deployment/ci/Dockerfile
+  GO_VERSION: 1.22.4
 
 stages:
-  - compile
   - test
   - build
-  - manifest
-  - deploy
-
-include:
-  - project: '${HELPERS_PATH}'
-    file: '${HELPERS_FILE}'
-  - template: 'Workflows/Branch-Pipelines.gitlab-ci.yml'
-
+  - trigger-deploy
 lint:
   image: golangci/golangci-lint:v1.50.1
   stage: test
@@ -28,7 +24,7 @@ lint:
     - cd /go/src/gitlab.com/${CI_PROJECT_PATH}
 
 unit tests:
-  image: golang:1.20.5
+  image: golang:${GO_VERSION}
   extends: .gotest
   stage: test
   tags:
@@ -37,7 +33,7 @@ unit tests:
   coverage: '/total:\s+\(statements\)\s+(\d+.\d+\%)/'
 
 govulncheck:
-  image: golang:1.20.5
+  image: golang:${GO_VERSION}
   stage: test
   tags:
     - amd64-docker
@@ -49,21 +45,37 @@ govulncheck:
     - go install golang.org/x/vuln/cmd/govulncheck@latest
     - govulncheck ./...
 
+build-dev:
+  extends: .docker-build-dev
+  stage: build
+  tags:
+    - $RUNNER_AMD
+  rules:
+    # Only run if the branch is not main, the pipeline is not triggered by a merge request and the commit is not a tag
+    - if: '$CI_COMMIT_BRANCH != "main" && $CI_PIPELINE_SOURCE != "merge_request_event" && $CI_COMMIT_TAG == null'
 
-amd64:
-  extends: .docker-build
+build-stg:
+  extends: .docker-build-dev
   stage: build
   tags:
-    - amd64-docker
+    - $RUNNER_AMD
+  rules: 
+    - if: '$CI_COMMIT_TAG'
 
-manifest:
-  extends: .manifest-amd64
-  stage: manifest
+deploy-dev:
+  extends: .deploy-dev
+  stage: trigger-deploy
+  needs:
+    - job: build-dev
+  rules:
+      # Only run if the branch is not main, the pipeline is not triggered by a merge request and the commit is not a tag
+    - if: '$CI_COMMIT_BRANCH != "main" && $CI_PIPELINE_SOURCE != "merge_request_event" && $CI_COMMIT_TAG == null'
 
-cloud:
-  extends: .manifest-cloud
-  stage: manifest
 
-release:
-  extends: .manifest-release
-  stage: manifest
+deploy-stg:
+  extends: .deploy-stg
+  stage: trigger-deploy
+  needs:
+    - job: build-stg
+  rules: 
+    - if: '$CI_COMMIT_TAG'
\ No newline at end of file
diff --git a/deployment/ci/Dockerfile b/deployment/ci/Dockerfile
index d5924676e107a0719a14ab0c635c6d55392755c9..20ed375fddb5017fcb9a3054002d1a3930768be1 100644
--- a/deployment/ci/Dockerfile
+++ b/deployment/ci/Dockerfile
@@ -4,11 +4,11 @@ RUN apk add git
 
 WORKDIR /go/src/gitlab.eclipse.org/eclipse/xfsc/tsa/infohub
 
-ARG APP_REPO_TAG
+ARG APP_VER
 
 ADD . .
 
-RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-X main.Version=$APP_REPO_TAG" -mod=vendor -o /tmp/infohub ./cmd/infohub/...
+RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-X main.Version=$APP_VER" -mod=vendor -o /tmp/infohub ./cmd/infohub/...
 
 FROM alpine:3.17 as runner