詹金斯管道| Groovy异常处理

时间:2020-09-03 10:39:20

标签: shell jenkins groovy cloudbees

正在Jenkins管道中编写Groovy脚本,该脚本在远程服务器上执行shell脚本。 根据shell脚本的输出,我应该处理异常。

如果shell脚本输出='xyz'>构建成功

如果shell脚本输出!='xyz'>抛出异常,则构建失败。

任何帮助将不胜感激!

我的脚本

def check()
{
    try 
    {
        println "Check started"
        
        sh "echo -e '' >> Result.txt"
        sh "ssh -q -o StrictHostKeyChecking=no test_agent@Bihkik1123.xyz.com  /home/test_agent/check.sh >> Result.txt"

    
        println "Check completed"
    }
    catch(Exception e) 
    {
       throw e;
    }
}

1 个答案:

答案 0 :(得分:1)

例如,如果关键字不匹配,则可以将阶段标记为FAILED。 :

  stage('test') {
        println "Check started"
        sh "echo 'xyz' > /tmp/results.txt"
        
        shellReturn = sh(returnStdout: true, script: """
            cat /tmp/results.txt
        """).trim()
        
        if(shellReturn == /xyz/){
          currentBuild.result = 'SUCCESS'      
        } else{
          println "FAILED"
          currentBuild.result = 'FAILED'
        }
      }