首页 > 解决方案 > 作业结果是 Post Script 结果

问题描述

我正在构建一个管道,并且在成功和不成功的情况下我有两个构建后脚本。

pipeline {
agent any
stages {
    stage('Build') {
        steps {
            script {
                echo 'Building...'

            }
        }
    }
    ...
}
post {
    unsuccessful {
        script {
                build job: '../declinePullRequests'
            }
        }
    }
    success {
        script {
               build job: '../createPR_mergePR'
            }
        }
    }
}
}

但是,我希望我的工作在完成后立即返回,而不是被构建后步骤阻止。基本上,如果后置脚本失败,主作业控制台会显示:

执行成功后的条件时出错:hudson.AbortException: createPR_mergePR #40 completed with status FAILURE (propagate: false to ignore) at org.jenkinsci.plugins.workflow.support.steps.build.BuildTriggerListener.onCompleted(BuildTriggerListener.java:52)在 hudson.model.Listeners.RunListener.fireCompleted(RunListener.java:211) 在 hudson.model.Run.execute(Run.java:1861) 在 hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 在 hudson。 model.ResourceController.execute(ResourceController.java:97) 在 hudson.model.Executor.run(Executor.java:429)

主要作业因后期脚本作业失败而失败,尽管之前它是成功的。我在文档中进行了研究,但找不到解决方案。

我的主要工作如何在完成后立即返回,独立于脚本后的工作结果?

我不仅要保持原来的作业状态,而且不要等待子作业完成主要作业

标签: jenkinscontinuous-integrationjenkins-pipeline

解决方案


尝试设置属性propagatewait明确设置为false.

build job: '../declinePullRequests', propagate: false, wait: false


推荐阅读