diff --git a/Jenkinsfile b/Jenkinsfile
index 37feec55d72466e7ad17ffcb7f2304d5b7501a19..ab435627c9633e92c31fc8b9cdc6a7c1ad2ae58e 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -49,10 +49,14 @@ pipeline {
                 script {
                     FAILED_STAGE = env.STAGE_NAME
                     def rootVersion = getPomVersion('pom.xml')
-                    def jobVersion = getPomVersion('pom.xml')
+                    def jobVersion = getPomVersion('aggregation-manager-job/pom.xml')
+                    def jobVersion = getPomVersion('aggregation-manager-server/pom.xml')
 
                     if(rootVersion != jobVersion) {
-                        error("Version in aggregation-manager-job stimmt nicht mit parent überein.")
+                        error("Version in aggregation-manager-job stimmt nicht mit dem parent überein.")
+                    }
+                    if(rootVersion != serverVersion) {
+                        error("Version in aggregation-manager-server stimmt nicht mit dem parent überein.")
                     }
                     if(isReleaseBranch()){
                         if ( !(rootVersion ==~ RELEASE_REGEX)) {
@@ -110,7 +114,7 @@ pipeline {
                 }
             }
         }
-        stage('Build Docker image') {
+        stage('Build Docker images') {
           steps {
                 script {
                     FAILED_STAGE=env.STAGE_NAME
@@ -121,26 +125,29 @@ pipeline {
            }
         }
 
-        stage('Tag and Push Docker image') {
+        stage('Tag and Push Docker images') {
             steps {
                 script {
                     FAILED_STAGE=env.STAGE_NAME
                     IMAGE_TAG = buildVersionName()
 
                     tagAndPushDockerImage('aggregation-manager-job', IMAGE_TAG)
+                    tagAndPushDockerImage('aggregation-manager-server', IMAGE_TAG)
 
                     if (env.BRANCH_NAME == 'main') {
                         tagAndPushDockerImage('aggregation-manager-job', 'snapshot-latest')
+                        tagAndPushDockerImage('aggregation-manager-server', 'snapshot-latest')
 
                     }
                     else if (env.BRANCH_NAME == 'release') {
                         tagAndPushDockerImage('aggregation-manager-job', 'latest')
+                        tagAndPushDockerImage('aggregation-manager-server', 'latest')
                     }
                 }
             }
         }
 
-        stage('Test, build and deploy Helm Chart') {
+        stage('Test, build and deploy Helm Chart for Aggregation Job') {
             steps {
                 script {
                     FAILED_STAGE=env.STAGE_NAME
@@ -157,6 +164,23 @@ pipeline {
             }
         }
 
+        stage('Test, build and deploy Helm Chart for Aggregation Server') {
+            steps {
+                script {
+                    FAILED_STAGE=env.STAGE_NAME
+                    HELM_CHART_VERSION = buildVersionName()
+
+                    sh "./run_helm_test_aggregation_server.sh"
+
+                    dir('aggregation-manager-server/src/main/helm') {
+
+                        sh "helm package --version=${HELM_CHART_VERSION} ."
+                        deployHelmChart('aggregation-manager-server', HELM_CHART_VERSION)
+                    }
+                }
+            }
+        }
+
 
         stage('Trigger Dev rollout') {
             when {
@@ -343,21 +367,36 @@ Void cloneGitopsRepo() {
 }
 
 Void setNewDevAggregationManagerVersion() {
-    setNewAggregationManagerGitopsVersion("dev")
+    setNewAggregationManagerJobGitopsVersion("dev")
+    setNewAggregationManagerServerGitopsVersion("dev")
 }
 
 Void setNewTestAggregationManagerVersion() {
-    setNewAggregationManagerGitopsVersion("test")
+    setNewAggregationManagerJobGitopsVersion("test")
+    setNewAggregationManagerServerGitopsVersion("test")
+}
+
+Void setNewAggregationManagerJobGitopsVersion(String environment) {
+    dir("gitops") {
+        def envFile = "${environment}/application/values/aggregation-manager-job-values.yaml"
+
+        def envVersions = readYaml file: envFile
+
+        envVersions.aggregation_manager_job.image.tag = IMAGE_TAG
+        envVersions.aggregation_manager_job.helm.version = HELM_CHART_VERSION
+
+        writeYaml file: envFile, data: envVersions, overwrite: true
+    }
 }
 
-Void setNewAggregationManagerGitopsVersion(String environment) {
+Void setNewAggregationManagerServerGitopsVersion(String environment) {
     dir("gitops") {
-        def envFile = "${environment}/application/values/aggregation-manager-values.yaml"
+        def envFile = "${environment}/application/values/aggregation-manager-server-values.yaml"
 
         def envVersions = readYaml file: envFile
 
-        envVersions.aggregation_manager.image.tag = IMAGE_TAG
-        envVersions.aggregation_manager.helm.version = HELM_CHART_VERSION
+        envVersions.aggregation_manager_server.image.tag = IMAGE_TAG
+        envVersions.aggregation_manager_server.helm.version = HELM_CHART_VERSION
 
         writeYaml file: envFile, data: envVersions, overwrite: true
     }