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)
}
}
}
}}
Tags git merge jenkins dev bitbucket.org