diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ae76d466a2a014cf118215534961d4bbc8717ac6..a95466c688006207a474ed34fd06c92dde630d48 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,20 +1,17 @@
+include:
+  - project: '${HELPERS_PATH}'
+    file: svdh-cicd.yml
+
 variables:
-  HELPERS_FILE: docker-build.yml
+  RUNNER_AMD: amd64-docker
   APP_HELM_NAME: cache
-  DOCKER_FILE: deployment/ci/Dockerfile
+  DOCKER_FILE: ./deployment/ci/Dockerfile
+  GO_VERSION: 1.22.3
 
 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 +25,7 @@ lint:
     - cd /go/src/gitlab.com/${CI_PROJECT_PATH}
 
 unit tests:
-  image: golang:1.19.4
+  image: golang:${GO_VERSION}
   extends: .gotest
   stage: test
   tags:
@@ -37,7 +34,7 @@ unit tests:
   coverage: '/total:\s+\(statements\)\s+(\d+.\d+\%)/'
 
 govulncheck:
-  image: golang:1.19.4
+  image: golang:${GO_VERSION}
   stage: test
   tags:
     - amd64-docker
@@ -48,21 +45,35 @@ govulncheck:
     - go version
     - go install golang.org/x/vuln/cmd/govulncheck@latest
     - govulncheck ./...
-
-amd64:
-  extends: .docker-build
+    
+build-dev:
+  extends: .docker-build-dev
   stage: build
   tags:
-    - amd64-docker
+    - $RUNNER_AMD
+  rules:
+    - if: '$CI_COMMIT_BRANCH != "main" && $CI_PIPELINE_SOURCE != "merge_request_event"'
 
-manifest:
-  extends: .manifest-amd64
-  stage: manifest
+build-stg:
+  extends: .docker-build-dev
+  stage: build
+  tags:
+    - $RUNNER_AMD
+  rules: 
+    - if: '$CI_COMMIT_TAG'
 
-cloud:
-  extends: .manifest-cloud
-  stage: manifest
+deploy-dev:
+  extends: .deploy-dev
+  stage: trigger-deploy
+  needs:
+    - job: build-dev
+  rules:
+    - if: '$CI_COMMIT_BRANCH != "main" && $CI_PIPELINE_SOURCE != "merge_request_event"'
 
-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