在詹金斯管道上捕获异常

时间:2020-01-05 12:23:10

标签: jenkins jenkins-pipeline

我正在使用Jenkins管道来编排一些二进制文件。我的Jenkins从属主机具有“ open-ssh”,可以完全访问开发环境中的服务器。 有没有一种方法可以使用Jenkins管道捕获ssh异常?这是我的代码:

//exe remote command on server
stages {
    stage('Links') {
        steps {
            sh '''#!/bin/bash
                ssh user1@server1 command1
                ssh user2@server2 command2
                '''
        }
    }
}

2 个答案:

答案 0 :(得分:0)

类似的方法可能对您有用:

stages {
    stage('Links') {
        steps {
           script {
              try {
                 sh "ssh user1@server1 command1"
              } 
              catch (err) {
                // do something about it, or simply
                throw err
              }

              try {
                 sh "ssh user2@server2 command2"
              } 
              catch (err) {
                // do something about it, or simply
                throw err
              }
           }
        }
    }
}

答案 1 :(得分:0)

我正在使用它来包装管道作业:

#!groovy
node ('node1') {
    currentBuild.result = "SUCCESS"
    try {
        stage('stg-1') {
            ...
        }
        stage('stg-2') {
            ...
        }
    } catch (err) {
        print('err: ' + err.toString() )
        currentBuild.result = "FAILURE"
    } finally {
        stage('stg-final') {
            ...  
        }
    }
}
相关问题