48-Jenkins-Pipeline中使用异常捕获

Posted 爱学习de测试小白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了48-Jenkins-Pipeline中使用异常捕获相关的知识,希望对你有一定的参考价值。

Pipeline中使用异常捕获


前言

  • 一般在Pipeline中一个steps失败,后续流程都会跳过,为了处理某些异常场景不影响后续流程,本篇来学习在流水线中使用异常捕获

try-catch-finally

pipeline 
    agent 
        node
             label 'mcp5.0'
        

    

    stages 
        stage('pull code') 
            steps 
                script
                    try 
                         println 'start pull code'
                         println 666/0 
                    
                    catch (exc)  
                        println "$exc"
                        currentBuild.result = "UNSTABLE"
                    
                    finally
                        println "alway run"
                    
                
            
        
         stage('test') 
            steps 
                println 'start test'
             
            
        
    
 post 
          always 

            script
               println 'post always'
               println currentBuild.currentResult
            
          
        
    

catchError


pipeline 
    agent any
                          
    stages 
      
        stage('pull code') 
            steps 
                // buildResult 设置构建结果  catchInterruptions 暂时不清楚作用  stageResult  设置stage结果    message 错误提示信息
                catchError(buildResult: 'SUCCESS', catchInterruptions: true, stageResult: 'UNSTABLE',message :'pull code error') 
                    
                     println 'start pull code'
                     println 666/0
                     
                                
                println 'alway run'   //相当于相当于try-catch-finally中finally中的内容  
            
        
         stage('test') 
            steps 
                println 'start test'                
            
        
      


 post 
          always 

            script
               println 'post always'
               println currentBuild.currentResult
            
          
        


以上是关于48-Jenkins-Pipeline中使用异常捕获的主要内容,如果未能解决你的问题,请参考以下文章

Java中有多个异常, 如何确定捕获顺序(多个catch),先从上到下执行,判断异常的大小,如果包含捕到异常,就进入这个catch,后面的就不再执行

28道java基础面试题-下

Matlab求解捕食者-猎物方程

努力理解 Xamarin 异常处理

优化算法海洋捕食者算法(MPA)matlab源码

C# 异常处理