Jenkins pipeline bulles haut de la coquille code de sortie à l'échec de la scène

Absolue Jenkins pipeline/groovy noob ici, j'ai une scène

stage('Building and Deploying'){
    def build = new Build()
    build.deploy()
}

qui est à l'aide de l'partagé lib, la source de la Build.groovy est ici:

def deploy(branch='master', repo='xxx'){
    if (env.BRANCH_NAME.trim() == branch) {
        def script = libraryResource 'build/package_indexes/python/build_push.sh'
        //TODO: Test out http://stackoverflow.com/questions/40965725/jenkins-pipeline-cps-global-lib-resource-file-for-shell-script-purpose/40994132#40994132
        env.PYPI_REPO = repo
        sh script
    }else {
        echo "Not pushing to repo because branch is: "+env.BRANCH_NAME.trim()+" and not "+branch
    }
}

Problème, c'est quand il n'arrive pas à pousser le construire à une distance de pensions de titres (voir ci-dessous), la scène finit toujours par en indiquant la réussite de la.

running upload
Submitting dist/xxx-0.0.7.tar.gz to https://xxx.jfrog.io/xxx/api/pypi/grabone-pypi-local
Upload failed (403): Forbidden
...
Finished: SUCCESS

Comment puis-je faire émerger le code de sortie du script de shell et de l'échec de la scène?

OriginalL'auteur James Lin | 2017-02-24