Mesclar com Jenkins usando pipeline

0

Eu tento fundir branch (master < - newBranch) com Jenkinsfile (pull request trigger) sem conflito.

Quando o Jenkins termina de rodar, recebo uma mensagem de erro no passo 3: "fatal: Não há mesclagem para abortar (MERGE_HEAD faltando)."

Quando tento executar com minhas mãos, isso é bem-sucedido.

Eu acho que o problema é que os estágios são separados. O que posso fazer?

Obrigado Marcel

Meu Jenkinsfile:

   pipeline { agent none
stages {
    // Step 1
    stage("Step1") {
        agent {label "master"}
        steps{
            script{
                // Pull code             
                sh (script: "cd /var/www/myProject && git checkout master && git checkout . && git pull", returnStdout: true)

                // Merge with newBranch
                def mergeReturn = sh (script: "git merge origin/develop --no-commit 2>&1", returnStdout: true).trim()
                println("mergeReturn: " + mergeReturn)

                // When conflict
                if (mergeReturn.contains("Automatic merge went well")) {
                    error("conflict exists")
                }
            }
        }
    }

        stage("step2"){
            agent {label "master"}
            steps{
                script{
                    //Run something on merged code
                }           
            }

        stage("Step3") {
            agent {label "master"}
            steps{
                script{
                    // Abort merge - (Return to master)
                    sh (script: "git merge --abort", returnStdout: true)
                }
            }
        }
   }}
    
por Mark.P 09.08.2018 / 19:52

0 respostas