diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 59693ba637a69d27d23f29b23d04d37c08b99d9d..4319aae30d6abf7ad0af626ae07fc2303f2a10cf 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -7,13 +7,14 @@ variables:
   GIT_DEPTH: 0  # Tells git to fetch all the branches of the project, required by the analysis task
   CLI_VERSION: latest
   DOCKER_BUILDKIT: 1 # With BuildKit, you don't need to pull the remote images before building since it caches each build layer in your image registry. Then, when you build the image, each layer is downloaded as needed during the build.
+  PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/"
 
 image: node:14
 
 #-----------------------------------------------------------------------------------------------------------------------
 stages: # map-library (Build, Test, Docker) als auch create-map-elements werden aktuell nicht berücksichtigt!
-  - install-dependencies  # jobs: install-dependencies-main / install-dependencies-web-cache
-  - build                 # jobs: build-main / build-map-app / build-table-app / build-web-comp / build-web-cache
+  - build                 # job: build-main
+  - build-sub             # jobs: build-map-app / build-table-app / build-web-comp / build-web-cache
   - test                  # jobs: test-main-app / test-map-app / test-table-app / test-web-cache
   - sonarqube             # noch nicht fertig getestet jobs: sonarqube-main / sonarqube-web-cache
   - dockerimage           # jobs: docker-build-main / docker-build-map-app / docker-build-table-app / docker-build-web-comp / docker-build-web-cache
@@ -21,52 +22,81 @@ stages: # map-library (Build, Test, Docker) als auch create-map-elements werden
   ########################################################################################################################
   # Non-Parallel Deploy-Stages
   ########################################################################################################################
+  - upload                # only tags
+
   - Deploy-Main
   - Deploy-Map-App
   - Deploy-Table-App
   - Deploy-Web-Comp
   - Deploy-Web-Cache
 
+  - release               # only tags
+
+  ########################################################################################################################
+  # Hidden necessary Stages!
+  ########################################################################################################################
+  # cache (two jobs)
+  # install_dependencies (two jobs)
+
+
 #-----------------------------------------------------------------------------------------------------------------------
-install-dependencies-main:
+.cache_main:
 #-----------------------------------------------------------------------------------------------------------------------
-  stage: install-dependencies
+  stage: cache
   cache:
-    key: $CI_COMMIT_REF_SLUG-$CI_PROJECT_DIR
+    key:
+      files:
+        - package-lock.json
+      prefix: $CI_COMMIT_REF_SLUG-$CI_PROJECT_DIR
     paths:
       - node_modules/
-  script:
-    - npm ci
-  # only:
-  #   changes:
-  #     - package-lock.json
+
 
 #-----------------------------------------------------------------------------------------------------------------------
-install-dependencies-web-cache:
+.cache_web_cache:
 #-----------------------------------------------------------------------------------------------------------------------
-  stage: install-dependencies
+  stage: cache
   cache:
-    key: $CI_COMMIT_REF_SLUG-$CI_PROJECT_DIR-web-cache
+    key:
+      files:
+        - /projects/grid-failure-information-web-cache/package-lock.json
+      prefix: $CI_COMMIT_REF_SLUG-$CI_PROJECT_DIR-web-cache
     paths:
       - ./projects/grid-failure-information-web-cache/node_modules/
-  script:
+
+
+#-----------------------------------------------------------------------------------------------------------------------
+.install_dependencies_main:
+  #-----------------------------------------------------------------------------------------------------------------------
+  stage: install_dependencies
+  extends: .cache_main
+  before_script:
+    - test -d "node_modules" && echo "Found/Exists" || echo "Does not exist"
+    - |
+      if [[ ! -d node_modules ]]; then
+        npm ci --cache .npm --prefer-offline
+      fi
+
+
+#-----------------------------------------------------------------------------------------------------------------------
+.install_dependencies_web_cache:
+  #-----------------------------------------------------------------------------------------------------------------------
+  stage: install_dependencies
+  extends: .cache_web_cache
+  before_script:
     - cd ./projects/grid-failure-information-web-cache
-    - npm ci
-  # only:
-  #   changes:
-  #     - /projects/grid-failure-information-web-cache/package-lock.json
+    - test -d "node_modules" && echo "Found/Exists" || echo "Does not exist"
+    - |
+      if [[ ! -d node_modules ]]; then
+        npm ci --cache .npm --prefer-offline
+      fi
+
 
 #-----------------------------------------------------------------------------------------------------------------------
 build-main:
 #-----------------------------------------------------------------------------------------------------------------------
   stage: build
-  dependencies:
-    - install-dependencies-main
-  cache:
-    key: $CI_COMMIT_REF_SLUG-$CI_PROJECT_DIR
-    paths:
-      - node_modules/
-    policy: pull
+  extends: .install_dependencies_main
   script:
     - npm run sy-pre-start
     - npm run build-main-app
@@ -75,150 +105,135 @@ build-main:
   artifacts:
     paths:
       - dist/
+  rules:
+    - changes:
+        - projects/grid-failure-information-app/**/*
+    - if: $CI_COMMIT_TAG
 
 #-----------------------------------------------------------------------------------------------------------------------
 build-map-app:
 #-----------------------------------------------------------------------------------------------------------------------
-  stage: build
-#  dependencies:
-#    - build-map-library
-  cache:
-    key: $CI_COMMIT_REF_SLUG-$CI_PROJECT_DIR
-    paths:
-      - node_modules/
-    policy: pull
+  stage: build-sub
+  extends: .cache_main
   script:
     - npm run build-map-app
     - find -maxdepth 2 -ls
   artifacts:
     paths:
       - dist/
+  rules:
+    - changes:
+        - projects/grid-failure-information-map-app/**/*
+    - if: $CI_COMMIT_TAG
 
 #-----------------------------------------------------------------------------------------------------------------------
 build-table-app:
 #-----------------------------------------------------------------------------------------------------------------------
-  stage: build
-#  dependencies:
-#    - build-map-app
-  cache:
-    key: $CI_COMMIT_REF_SLUG-$CI_PROJECT_DIR
-    paths:
-      - node_modules/
-    policy: pull
+  stage: build-sub
+  extends: .cache_main
   script:
     - npm run build-table-app
     - find -maxdepth 2 -ls
   artifacts:
     paths:
       - dist/
+  rules:
+    - changes:
+        - projects/grid-failure-information-table-app/**/*
+    - if: $CI_COMMIT_TAG
 
 #-----------------------------------------------------------------------------------------------------------------------
 build-web-comp:
 #-----------------------------------------------------------------------------------------------------------------------
-  stage: build
-#  dependencies:
-#    - build-table-app
-  cache:
-    key: $CI_COMMIT_REF_SLUG-$CI_PROJECT_DIR
-    paths:
-      - node_modules/
-    policy: pull
+  stage: build-sub
+  extends: .cache_main
   script:
     - npm run build-comp
   artifacts:
     paths:
       - dist/
+  rules:
+    - changes:
+        - projects/grid-failure-information-web-comp/**/*
+    - if: $CI_COMMIT_TAG
 
 #-----------------------------------------------------------------------------------------------------------------------
 build-web-cache:
 #-----------------------------------------------------------------------------------------------------------------------
   stage: build
-  dependencies:
-    - install-dependencies-web-cache
-#  needs: ["install-dependencies-web-cache"]
-  cache:
-    key: $CI_COMMIT_REF_SLUG-$CI_PROJECT_DIR-web-cache
-    paths:
-      - ./projects/grid-failure-information-web-cache/node_modules/
-    policy: pull
+  extends: .install_dependencies_web_cache
   script:
-    - cd ./projects/grid-failure-information-web-cache
     - npm run build
     - find -maxdepth 2 -ls
   artifacts:
     paths:
       - ./projects/grid-failure-information-web-cache/dist/
+  rules:
+    - changes:
+        - projects/grid-failure-information-web-cache/**/*
+      if: $CI_PROJECT_NAME == "gridfailureinformation.frontend.web-cache"
+    - if: $CI_COMMIT_TAG
+
+
 
 #-----------------------------------------------------------------------------------------------------------------------
 test-main-app:
 #-----------------------------------------------------------------------------------------------------------------------
   stage: test
+  extends: .cache_main
   image: trion/ng-cli-karma:${CLI_VERSION}
   allow_failure: false
-#  dependencies:
-#    - install_dependencies
-  cache:
-    key: $CI_COMMIT_REF_SLUG-$CI_PROJECT_DIR
-    paths:
-      - node_modules/
-    policy: pull
   script:
       - npm run test-single-run --code-coverage --progress false --watch false
   artifacts:
     paths:
       - coverage/
+  rules:
+    - changes:
+        - projects/grid-failure-information-app/**/*
+    - if: $CI_COMMIT_TAG
 
 #-----------------------------------------------------------------------------------------------------------------------
 test-map-app:
 #-----------------------------------------------------------------------------------------------------------------------
   stage: test
+  extends: .cache_main
   image: trion/ng-cli-karma:${CLI_VERSION}
   allow_failure: false
-#  dependencies:
-#    - install_dependencies
-  cache:
-    key: $CI_COMMIT_REF_SLUG-$CI_PROJECT_DIR
-    paths:
-      - node_modules/
-    policy: pull
   script:
     - npm run test-map-app-single-run --code-coverage --progress false --watch false
   artifacts:
     paths:
       - coverage/
+  rules:
+    - changes:
+        - projects/grid-failure-information-map-app/**/*
+    - if: $CI_COMMIT_TAG
 
 #-----------------------------------------------------------------------------------------------------------------------
 test-table-app:
 #-----------------------------------------------------------------------------------------------------------------------
   stage: test
+  extends: .cache_main
   image: trion/ng-cli-karma:${CLI_VERSION}
   allow_failure: false
-#  dependencies:
-#    - install_dependencies
-  cache:
-    key: $CI_COMMIT_REF_SLUG-$CI_PROJECT_DIR
-    paths:
-      - node_modules/
-    policy: pull
   script:
     - npm run test-table-app-single-run --code-coverage --progress false --watch false
   artifacts:
     paths:
       - coverage/
+  rules:
+    - changes:
+        - projects/grid-failure-information-table-app/**/*
+    - if: $CI_COMMIT_TAG
 
 #-----------------------------------------------------------------------------------------------------------------------
 test-web-cache:
 #-----------------------------------------------------------------------------------------------------------------------
   stage: test
+  extends: .cache_web_cache
   image: trion/ng-cli-karma:${CLI_VERSION}
   allow_failure: false
-#  dependencies:
-#    - install_dependencies-web-cache
-  cache:
-    key: $CI_COMMIT_REF_SLUG-$CI_PROJECT_DIR-web-cache
-    paths:
-      - ./projects/grid-failure-information-web-cache/node_modules/
-    policy: pull
   script:
     - cd ./projects/grid-failure-information-web-cache
     - npm run test:cov --code-coverage --progress false --watch false
@@ -227,8 +242,10 @@ test-web-cache:
       - ./projects/grid-failure-information-web-cache/coverage/
   rules:
     - changes:
-        - stoerungsauskunftInterface/**/*
-      if: $CI_PROJECT_NAME == "gridFailureInformation.frontend.web-cache"
+        - projects/grid-failure-information-web-cache/**/*
+      if: $CI_PROJECT_NAME == "gridfailureinformation.frontend.web-cache"
+    - if: $CI_COMMIT_TAG
+
 
 #-----------------------------------------------------------------------------------------------------------------------
 sonarqube-main:
@@ -247,6 +264,16 @@ sonarqube-main:
   allow_failure: true
   dependencies:
     - test-main-app
+  rules:
+    - changes:
+        - projects/grid-failure-information-app/**/*
+    - changes:
+        - projects/grid-failure-information-map-app/**/*
+    - changes:
+        - projects/grid-failure-information-table-app/**/*
+    - changes:
+        - projects/grid-failure-information-web-comp/**/*
+    - if: $CI_COMMIT_TAG
 
 #-----------------------------------------------------------------------------------------------------------------------
 sonarqube-web-cache:
@@ -266,6 +293,12 @@ sonarqube-web-cache:
   allow_failure: true
   dependencies:
     - test-web-cache
+  rules:
+    - changes:
+        - projects/grid-failure-information-web-cache/**/*
+      if: $CI_PROJECT_NAME == "gridfailureinformation.frontend.web-cache"
+    - if: $CI_COMMIT_TAG
+
 
 #-----------------------------------------------------------------------------------------------------------------------
 # Dockerimage
@@ -292,6 +325,8 @@ sonarqube-web-cache:
     - REGISTRY_IMAGE_BASE="$CI_REGISTRY_IMAGE/$CI_SOURCE_BRANCH/$IMG_NAME"
     - FINAL_REGISTRY_IMAGE="$CI_REGISTRY_IMAGE/$CI_SOURCE_BRANCH/$IMG_NAME:${tag}"
     - echo "FINAL_REGISTRY_IMAGE=$FINAL_REGISTRY_IMAGE" >> dockerimage.env
+    - echo "REGISTRY_IMAGE_BASE=$REGISTRY_IMAGE_BASE" >> dockerimage.env
+    - echo "IMAGE_TAG=$tag" >> dockerimage.env
     - echo current FINAL_REGISTRY_IMAGE ${FINAL_REGISTRY_IMAGE}
     - docker build --pull -f $DOCKER_FILE -t "$FINAL_REGISTRY_IMAGE" -t "$REGISTRY_IMAGE_BASE" --cache-from "$REGISTRY_IMAGE_BASE"  --build-arg BUILDKIT_INLINE_CACHE=1 .
     - docker push "$REGISTRY_IMAGE_BASE" --all-tags
@@ -311,9 +346,12 @@ docker-build-main:
   needs:
     - job: build-main
   rules:
-    - exists:
+    - changes:
+        - projects/grid-failure-information-app/**/*
+      exists:
         - projects/grid-failure-information-app/Dockerfile_Kubernetes_Main
 
+
 #-----------------------------------------------------------------------------------------------------------------------
 docker-build-map-app:
 #-----------------------------------------------------------------------------------------------------------------------
@@ -326,9 +364,12 @@ docker-build-map-app:
   needs:
     - job: build-map-app
   rules:
-    - exists:
+    - changes:
+        - projects/grid-failure-information-map-app/**/*
+      exists:
         - projects/grid-failure-information-map-app/Dockerfile_Kubernetes_MapApp
 
+
 #-----------------------------------------------------------------------------------------------------------------------
 docker-build-table-app:
 #-----------------------------------------------------------------------------------------------------------------------
@@ -341,9 +382,12 @@ docker-build-table-app:
   needs:
     - job: build-table-app
   rules:
-    - exists:
+    - changes:
+        - projects/grid-failure-information-table-app/**/*
+      exists:
         - projects/grid-failure-information-table-app/Dockerfile_Kubernetes_TableApp
 
+
 #-----------------------------------------------------------------------------------------------------------------------
 docker-build-web-cache:
   #-----------------------------------------------------------------------------------------------------------------------
@@ -356,8 +400,13 @@ docker-build-web-cache:
   needs:
     - job: build-web-cache
   rules:
-    - exists:
+    - changes:
+        - projects/grid-failure-information-web-cache/**/*
+      if: $CI_PROJECT_NAME == "gridfailureinformation.frontend.web-cache"
+      exists:
         - projects/grid-failure-information-web-cache/Dockerfile_Kubernetes_WebCache
+    - if: $CI_COMMIT_TAG
+
 
 #-----------------------------------------------------------------------------------------------------------------------
 docker-build-web-comp:
@@ -371,10 +420,59 @@ docker-build-web-comp:
   needs:
     - job: build-web-comp
   rules:
-    - exists:
+    - changes:
+        - projects/grid-failure-information-web-comp/**/*
+      exists:
         - projects/grid-failure-information-web-comp/Dockerfile_Kubernetes_WebComp
 
 
+#-----------------------------------------------------------------------------------------------------------------------
+# Upload Artefakte FE
+#-----------------------------------------------------------------------------------------------------------------------
+upload_artefacts:
+  stage: upload
+  image: alpine:3.14.0
+  rules:
+    - if: $CI_COMMIT_TAG
+  before_script:
+    - apk add --no-cache git curl bash coreutils zip
+  script:
+    - echo PACKAGE_REGISTRY_URL $PACKAGE_REGISTRY_URL
+    - echo CI_COMMIT_TAG $CI_COMMIT_TAG
+    - |
+      if [[ -d dist/grid-failure-information-app ]]; then
+        echo "main"
+        mv dist/grid-failure-information-app mainFE
+        zip -r mainFE.zip mainFE
+        curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ./mainFE.zip "${PACKAGE_REGISTRY_URL}${CI_COMMIT_TAG}/artefakte/mainFE.zip"
+      fi
+    - |
+      if [[ -d dist/grid-failure-information-map-app ]]; then
+        echo "mapApp"
+        mv dist/grid-failure-information-map-app mapAppFE
+        zip -r mapAppFE.zip mapAppFE
+        curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ./mapAppFE.zip "${PACKAGE_REGISTRY_URL}${CI_COMMIT_TAG}/artefakte/mapAppFE.zip"
+      fi
+    - |
+      if [[ -d dist/grid-failure-information-table-app ]]; then
+        mv dist/grid-failure-information-table-app tableAppFE
+        zip -r tableAppFE.zip tableAppFE
+        curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ./tableAppFE.zip "${PACKAGE_REGISTRY_URL}${CI_COMMIT_TAG}/artefakte/tableAppFE.zip"
+      fi
+    - |
+      if [[ -d dist/grid-failure-information-web-comp ]]; then
+        mv dist/grid-failure-information-web-comp webCompFE
+        zip -r webCompFE.zip webCompFE
+        curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ./webCompFE.zip "${PACKAGE_REGISTRY_URL}${CI_COMMIT_TAG}/artefakte/webCompFE.zip"
+      fi
+    - |
+      if [[ -d projects/grid-failure-information-web-cache/dist ]]; then
+        mv projects/grid-failure-information-web-cache/dist webCacheFE
+        zip -r webCacheFE.zip webCacheFE
+        curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ./webCacheFE.zip "${PACKAGE_REGISTRY_URL}${CI_COMMIT_TAG}/artefakte/webCacheFE.zip"
+      fi
+
+
 #-----------------------------------------------------------------------------------------------------------------------
 # Deploy
 #-----------------------------------------------------------------------------------------------------------------------
@@ -383,26 +481,31 @@ docker-build-web-comp:
   cache: {}
   variables:
     GIT_STRATEGY: none
-    DEPLOYMENT_FOLDER: apps/gridfailureinformation/$DEPLOYMENT_SUB_FOLDER
+    DEPLOYMENT_FILE: fileDefaultVarPlaceholder
+    YAML_IMAGE_NAME: image
   before_script:
     - apk add --no-cache git curl bash coreutils
-    - curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh"  | bash
-    - mv kustomize /usr/local/bin/
+    - apk add yq --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community
     - ls -l
-    - echo current GITLAB_DEPLOYMENT_REPO_URL ${GITLAB_DEPLOYMENT_REPO_URL}
+    - echo current GITLAB_DEPLOYMENT_REPO_URL {GITLAB_DEPLOYMENT_REPO_URL}
     - git clone https://${CI_USERNAME}:${CI_PUSH_TOKEN}@gitlab.com/${GITLAB_DEPLOYMENT_REPO_URL}
     - cd *
     - git config --global user.email "gitlab@gitlab.com"
     - git config --global user.name "GitLab CI/CD"
   script:
     - ls -l
+    - cat ${DEPLOYMENT_FILE}
     - echo FINAL_REGISTRY_IMAGE ${FINAL_REGISTRY_IMAGE}
-    - cd ${DEPLOYMENT_FOLDER}
-    - kustomize edit set image ${BASE_IMAGE_NAME}=${FINAL_REGISTRY_IMAGE}
-    - cat kustomization.yaml
+    - echo APP_NAME ${APP_NAME}
+    - echo IMAGE_TAG ${IMAGE_TAG}
+    - echo REGISTRY_IMAGE_BASE ${REGISTRY_IMAGE_BASE}
+    - yq e -i '.apps.[env(YAML_APP_NAME)][env(YAML_IMAGE_NAME)].tag = env(IMAGE_TAG)' ${DEPLOYMENT_FILE}
+    - yq e -i '.apps.[env(YAML_APP_NAME)][env(YAML_IMAGE_NAME)].repository = env(REGISTRY_IMAGE_BASE)' ${DEPLOYMENT_FILE}
+    - cat ${DEPLOYMENT_FILE}
     - git commit -am '[skip ci] Image update'
     - git push origin main
 
+
 #------------------------------
 # Deploy - QA-Environment
 #------------------------------
@@ -410,56 +513,71 @@ deploy-qa-main:
   stage: Deploy-Main
   extends: .deploy-script
   variables:
-    BASE_IMAGE_NAME: main-image
-    DEPLOYMENT_SUB_FOLDER: frontend/environments/qa
+    YAML_APP_NAME: gfi-fe
+    DEPLOYMENT_FILE: deployment/applications/values-gfi-qa.yaml
   dependencies:
     - docker-build-main
-  only:
-    - master
+  rules:
+    - changes:
+        - projects/grid-failure-information-app/**/*
+      if: $CI_COMMIT_BRANCH == "master"
+    - if: $CI_COMMIT_TAG
 
 deploy-qa-map-app:
   stage: Deploy-Map-App
   extends: .deploy-script
   variables:
-    BASE_IMAGE_NAME: main-image
-    DEPLOYMENT_SUB_FOLDER: map-app/environments/qa
+    YAML_APP_NAME: gfi-map-app
+    DEPLOYMENT_FILE: deployment/applications/values-gfi-qa.yaml
   dependencies:
     - docker-build-map-app
-  only:
-    - master
+  rules:
+    - changes:
+        - projects/grid-failure-information-map-app/**/*
+      if: $CI_COMMIT_BRANCH == "master"
+    - if: $CI_COMMIT_TAG
 
 deploy-qa-table-app:
   stage: Deploy-Table-App
   extends: .deploy-script
   variables:
-    BASE_IMAGE_NAME: main-image
-    DEPLOYMENT_SUB_FOLDER: table-app/environments/qa
+    YAML_APP_NAME: gfi-table-app
+    DEPLOYMENT_FILE: deployment/applications/values-gfi-qa.yaml
   dependencies:
     - docker-build-table-app
-  only:
-    - master
+  rules:
+    - changes:
+        - projects/grid-failure-information-table-app/**/*
+      if: $CI_COMMIT_BRANCH == "master"
+    - if: $CI_COMMIT_TAG
 
 deploy-qa-web-comp:
   stage: Deploy-Web-Comp
   extends: .deploy-script
   variables:
-    BASE_IMAGE_NAME: main-image
-    DEPLOYMENT_SUB_FOLDER: web-comp/environments/qa
+    YAML_APP_NAME: gfi-web-comp
+    DEPLOYMENT_FILE: deployment/applications/values-gfi-qa.yaml
   dependencies:
     - docker-build-web-comp
-  only:
-    - master
+  rules:
+    - changes:
+        - projects/grid-failure-information-web-comp/**/*
+      if: $CI_COMMIT_BRANCH == "master"
+    - if: $CI_COMMIT_TAG
 
 deploy-qa-web-cache:
   stage: Deploy-Web-Cache
   extends: .deploy-script
   variables:
-    BASE_IMAGE_NAME: main-image
-    DEPLOYMENT_SUB_FOLDER: web-cache/environments/qa
+    YAML_APP_NAME: gfi-web-cache
+    DEPLOYMENT_FILE: deployment/applications/values-gfi-qa.yaml
   dependencies:
     - docker-build-web-cache
-  only:
-    - master
+  rules:
+    - changes:
+        - projects/grid-failure-information-web-cache/**/*
+      if: $CI_PROJECT_NAME == "gridfailureinformation.frontend.web-cache" && $CI_COMMIT_REF_NAME == "master"
+    - if: $CI_COMMIT_TAG
 
 #------------------------------
 # Deploy - DEV-Environment
@@ -468,8 +586,8 @@ deploy-dev-main:
   stage: Deploy-Main
   extends: .deploy-script
   variables:
-    BASE_IMAGE_NAME: main-image
-    DEPLOYMENT_SUB_FOLDER: frontend/environments/dev
+    YAML_APP_NAME: gfi-fe
+    DEPLOYMENT_FILE: deployment/applications/values-gfi-dev.yaml
   dependencies:
     - docker-build-main
   only:
@@ -479,8 +597,8 @@ deploy-dev-map-app:
   stage: Deploy-Map-App
   extends: .deploy-script
   variables:
-    BASE_IMAGE_NAME: main-image
-    DEPLOYMENT_SUB_FOLDER: map-app/environments/dev
+    YAML_APP_NAME: gfi-map-app
+    DEPLOYMENT_FILE: deployment/applications/values-gfi-dev.yaml
   dependencies:
     - docker-build-map-app
   only:
@@ -490,8 +608,8 @@ deploy-dev-table-app:
   stage: Deploy-Table-App
   extends: .deploy-script
   variables:
-    BASE_IMAGE_NAME: main-image
-    DEPLOYMENT_SUB_FOLDER: table-app/environments/dev
+    YAML_APP_NAME: gfi-table-app
+    DEPLOYMENT_FILE: deployment/applications/values-gfi-dev.yaml
   dependencies:
     - docker-build-table-app
   only:
@@ -501,8 +619,8 @@ deploy-dev-web-comp:
   stage: Deploy-Web-Comp
   extends: .deploy-script
   variables:
-    BASE_IMAGE_NAME: main-image
-    DEPLOYMENT_SUB_FOLDER: web-comp/environments/dev
+    YAML_APP_NAME: gfi-web-comp
+    DEPLOYMENT_FILE: deployment/applications/values-gfi-dev.yaml
   dependencies:
     - docker-build-web-comp
   only:
@@ -512,9 +630,41 @@ deploy-dev-web-cache:
   stage: Deploy-Web-Cache
   extends: .deploy-script
   variables:
-    BASE_IMAGE_NAME: main-image
-    DEPLOYMENT_SUB_FOLDER: web-cache/environments/dev
+    YAML_APP_NAME: gfi-web-cache
+    DEPLOYMENT_FILE: deployment/applications/values-gfi-dev.yaml
   dependencies:
     - docker-build-web-cache
   only:
     - DEVELOP
+
+
+#------------------------------
+# Release
+#------------------------------
+release_job:
+  stage: release
+  image: registry.gitlab.com/gitlab-org/release-cli:latest
+  needs:
+    - job: upload_artefacts
+      artifacts: false
+  only:
+    - tags
+  script:
+    - echo 'running release_job'
+  release:
+    name: 'Release $CI_COMMIT_TAG'
+    description: 'Created using the release-cli'
+    tag_name: '$CI_COMMIT_TAG'
+    ref: '$CI_COMMIT_SHA'
+    assets:
+      links:
+        - name: 'mainFE.zip (Download)'
+          url:   "${PACKAGE_REGISTRY_URL}${CI_COMMIT_TAG}/artefakte/mainFE.zip"
+        - name: 'mapAppFE.zip (Download)'
+          url:   "${PACKAGE_REGISTRY_URL}${CI_COMMIT_TAG}/artefakte/mapAppFE.zip"
+        - name: 'tableAppFE.zip (Download)'
+          url:   "${PACKAGE_REGISTRY_URL}${CI_COMMIT_TAG}/artefakte/tableAppFE.zip"
+        - name: 'webCompFE.zip (Download)'
+          url:   "${PACKAGE_REGISTRY_URL}${CI_COMMIT_TAG}/artefakte/webCompFE.zip"
+        - name: 'webCacheFE.zip (Download)'
+          url:   "${PACKAGE_REGISTRY_URL}${CI_COMMIT_TAG}/artefakte/webCacheFE.zip"