Работа вниз по течению резко заканчивается и передает управление обратно в работу вверх по течению - PullRequest
0 голосов
/ 28 сентября 2019

Я сталкиваюсь с уникальной ситуацией в Jenkins, когда задание нижестоящего конвейера (задание TestNG) при вызове из задания восходящего конвейера внезапно завершается и передает управление восходящему заданию со статусом FAILED.

Но это же нижестоящее задание успешно выполняется при запуске в качестве отдельного задания или при воспроизведении этапа из вышестоящего задания.

Вот сценарий восходящего конвейера:

pipeline{    
agent{
        label "ABC"
    }

    stages{
        stage("Source Code Checkout"){ }

        stage("Compilation"){
            tools{
                jdk "JDK1.7"
            }

            steps{
                echo "Now proceeding for source compilation using maven executable"
                bat label: 'maven-phase', script: '"D:\\Apache Build Tools\\apache-maven-3.6.1-bin\\apache-maven-3.6.1\\bin\\mvn" -o -f source_code/parent/pom.xml clean install -e'
            }

            post{
                success{
                    echo "Successfully compiled the code"
                }
                failure{
                    echo "Unable to compile the code. There were some errors"
                }
            }
        }

        stage("JUnit"){ }

        stage("SonarQube Analysis"){ }

        stage("Sonar Quality Gates"){ }

        /*stage("Publish Artifacts to Nexus Repo"){ }

        stage("fileutil"){ }

        stage("Deployment"){{ agent labal 'GHI' }....}

        stage("Pre-FTA Approval"){}

        stage("FTA"){
            steps{
                catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE'){
                    echo 'performing TA tests'
                    build job: 'test', propagate: true, wait: true
                    echo 'TA is successful'
                }
            }
            post{
                success{
                    echo "TA is successful"
                }
                failure{
                    echo "TA is unsuccessful"
                    /*script{
                        unsuccessfulTestTransitionIssue()
                    }*/
                }
            }
        }

        stage("UAT Approval"){
            steps{
                input id: '200', message: 'Continue post TA?', ok: 'Approved', submitter: 'ganesh'
            }
        }

        stage("UAT"){
            steps{
                echo "UAT is WIP"
            }
        }
    }
    post{

        success{
            echo "========pipeline executed successfully ========"
            script{
                currentBuild.result = "SUCCESS"
            }
        }
        failure{
            echo "There were some failures in overall execution. Please rectify them"
            script{
                currentBuild.result = "FAILURE"
            }
        }
        unstable{
            echo "The build has become unstable"
            script{
                currentBuild.result = "UNSTABLE"
            }
        }
    }
}

Вот сценарий нисходящего конвейера:

node(‘DEF’){

    env.JAVA_HOME="${tool 'JDK18_84'}"
    env.PATH="${env.JAVA_HOME}/bin:${env.PATH}"

    //deleteDir()

    stage('Pre-TA'){
        echo 'this is pre-ta'
    }

    stage('Build TA'){
        bat label: 'source code checkout', script: 'svn export --non-interactive --no-auth-cache --username xxxx --password xxxx https://svn.repo.com/svn/T010/ABC /Other_Documents/TA_SCRIPTS/ D:\\jenkins\\workspace\\ABC\\test --trust-server-cert --force'
        withAnt(installation: 'Ant_84', jdk: 'JDK18_84') {
            bat label: '', script: 'ant -verbose -d testng-exec'
        }
    }

    stage('post ta'){
        echo 'Done!'
    }
}

Вот вывод консоли нижестоящего задания, когда он выполняется как часть восходящего конвейера:

12:41:21  
12:41:21  The ' characters around the executable and arguments are
12:41:21  not part of the command.
12:41:23     [testng] Started InternetExplorerDriver server (32-bit)
12:41:23     [testng] 3.9.0.0
12:41:23     [testng] Listening on port 16216
12:41:23     [testng] Only local connections are allowed
12:41:25     [testng] Sep 28, 2019 12:41:22 PM org.openqa.selenium.remote.ProtocolHandshake createSession
12:41:25     [testng] INFO: Detected dialect: W3C
12:41:40     [testng] Landed on Login Page
12:41:42     [testng] Role Has Been Selected
12:42:04     [testng] 
12:42:04     [testng] ===============================================
12:42:04     [testng] Suite
12:42:04     [testng] Total tests run: 1, Failures: 1, Skips: 0
12:42:04     [testng] ===============================================
12:42:04     [testng] 
12:42:04  Finding class org.testng.internal.ExitCode
12:42:04  Loaded from D:\jenkins\workspace\ABC\test\lib\testng-6.14.3.jar org/testng/internal/ExitCode.class
12:42:04  Class org.testng.internal.ExitCode loaded from ant loader (parentFirst)
12:42:04  
12:42:04  BUILD FAILED
12:42:04  D:\jenkins\workspace\ABC\test\build.xml:45: The tests failed.
12:42:04    at org.testng.TestNGAntTask.actOnResult(TestNGAntTask.java:747)
12:42:04    at org.testng.TestNGAntTask.execute(TestNGAntTask.java:538)
12:42:04    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
12:42:04    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
12:42:04    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
12:42:04    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
12:42:04    at java.lang.reflect.Method.invoke(Method.java:498)
12:42:04    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
12:42:04    at org.apache.tools.ant.Task.perform(Task.java:350)
12:42:04    at org.apache.tools.ant.Target.execute(Target.java:449)
12:42:04    at org.apache.tools.ant.Target.performTasks(Target.java:470)
12:42:04    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1391)
12:42:04    at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
12:42:04    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
12:42:04    at org.apache.tools.ant.Project.executeTargets(Project.java:1254)
12:42:04    at org.apache.tools.ant.Main.runBuild(Main.java:830)
12:42:04    at org.apache.tools.ant.Main.startAnt(Main.java:223)
12:42:04    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:284)
12:42:04    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:101)
12:42:04  
12:42:04  Total time: 42 seconds
12:42:04  [Pipeline] }
12:42:04  [Pipeline] // withAnt
12:42:04  [Pipeline] }
12:42:04  [Pipeline] // stage
12:42:04  [Pipeline] }
12:42:04  [Pipeline] // node
12:42:04  [Pipeline] End of Pipeline
12:42:04  [BFA] Scanning build for known causes...
12:42:04  [BFA] No failure causes found
12:42:04  [BFA] Done. 0s
12:42:04  ERROR: script returned exit code 1
12:42:04  Finished: FAILURE

Вот результат нижестоящего конвейерного задания, когда он выполняется как отдельное задание или если этап FTA воспроизводится из вышестоящего задания (это успешно):

12:43:13     [testng] Started InternetExplorerDriver server (32-bit)
12:43:13     [testng] 3.9.0.0
12:43:13     [testng] Listening on port 34067
12:43:13     [testng] Only local connections are allowed
12:43:15     [testng] Sep 28, 2019 12:43:11 PM org.openqa.selenium.remote.ProtocolHandshake createSession
12:43:15     [testng] INFO: Detected dialect: W3C
12:43:20     [testng] Landed on Login Page
12:43:22     [testng] Role Has Been Selected
12:43:29     [testng] Disbursement Selected,Domestic LSM / IBG Operations Memo Is Selected 
12:43:55     [testng] Status Saved Has Been Selected
12:45:03     [testng] Company Has Been Selected
12:45:50     [testng] Filled Home Tab Details
12:46:29     [testng] LSM Changes Have Been Saved
12:46:29     [testng] 
12:46:29     [testng] ===============================================
12:46:29     [testng] Suite
12:46:29     [testng] Total tests run: 1, Failures: 0, Skips: 0
12:46:29     [testng] ===============================================
12:46:29     [testng] 
12:46:29  Finding class org.testng.internal.ExitCode
12:46:29  Loaded from D:\jenkins\workspace\ABC\test\lib\testng-6.14.3.jar org/testng/internal/ExitCode.class
12:46:29  Class org.testng.internal.ExitCode loaded from ant loader (parentFirst)
12:46:29  
12:46:29  BUILD SUCCESSFUL
12:46:29  Total time: 3 minutes 17 seconds
12:46:30  Finished: SUCCESS

Я полностью сбит с толкупо этому и нет ответа.С кем бы я ни советовался, никогда не сталкивался с такой проблемой или понятия не имею.

Мне нужна ваша помощь, чтобы разрешить эту загадочную ситуацию.

С уважением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...