diff --git a/Jenkinsfile b/Jenkinsfile index 2d493b23e1189974f08872f05924e6e4aa296da8..641019c79c60a156f7c82d3547a6fe9200a04a72 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -271,19 +271,21 @@ pipeline { parallel { stage('E2E-EA') { steps { - script { - def stageName = env.STAGE_NAME - def bezeichner = env.EA_BEZEICHNER - def dbPort = 27018 + catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') { + script { + def stageName = env.STAGE_NAME + def bezeichner = env.EA_BEZEICHNER + def dbPort = 27018 - exposeDatenbank(generateNamespace(bezeichner), dbPort) - exposeElasticSearch() + exposeDatenbank(generateNamespace(bezeichner), dbPort) + exposeElasticSearch() - def testResult = runTests(bezeichner, 'einheitlicher-ansprechpartner', dbPort) + def testResult = runTests(bezeichner, 'einheitlicher-ansprechpartner', dbPort) - if(!testResult) { - E2E_FAILED += "${stageName}, " - error("Fehler in Stage ${stageName}") + if(!testResult) { + E2E_FAILED += "${stageName}, " + error("Fehler in Stage ${stageName}") + } } } } @@ -297,19 +299,21 @@ pipeline { } stage('E2E-main') { steps { - script { - def stageName = env.STAGE_NAME - def bezeichner = env.MAIN_BEZEICHNER - def dbPort = 27019 + catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') { + script { + def stageName = env.STAGE_NAME + def bezeichner = env.MAIN_BEZEICHNER + def dbPort = 27019 - exposeDatenbank(generateNamespace(bezeichner), dbPort) - exposeElasticSearch() + exposeDatenbank(generateNamespace(bezeichner), dbPort) + exposeElasticSearch() - def testResult = runTests(bezeichner, 'main-tests', dbPort) + def testResult = runTests(bezeichner, 'main-tests', dbPort) - if(!testResult) { - E2E_FAILED += "${stageName}, " - error("Fehler in Stage ${stageName}") + if(!testResult) { + E2E_FAILED += "${stageName}, " + error("Fehler in Stage ${stageName}") + } } } } @@ -666,8 +670,10 @@ String runTests(String bezeichner, String reportFolder, Integer dbPort) { return true } } catch (Exception e) { - sh "ls -l /root/.npm/_logs/*-debug.log" - sh "cat /root/.npm/_logs/*-debug.log" + if (hasNpmDebugLog()) { + sh "cat /root/.npm/_logs/*-debug.log" + } + return false } } @@ -850,4 +856,8 @@ String decodeString(String encoded) { Map getElasticsearchSecret(String namespace) { return readJSON ( text: sh (script: "kubectl get secret elasticsearch-credentials -n ${namespace} -o jsonpath={.data}", returnStdout: true)) +} + +Boolean hasNpmDebugLog() { + return sh (script: "ls -l /root/.npm/_logs/*-debug.log", returnStatus: true) == env.SH_SUCCESS_STATUS_CODE as Integer } \ No newline at end of file