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 }