您可以执行类似 *** 作并使用try catch块。
node { try { notifyBuild('STARTED') stage('Prepare pre') { echo 'do checkout stuff' } stage('Testing') { echo 'Testing' echo 'Testing - publish coverage results' } stage('Staging') { echo 'Deploy Stage' } stage('Deploy') { echo 'Deploy - Backend' echo 'Deploy - Frontend' } } catch (e) { // If there was an exception thrown, the build failed currentBuild.result = "FAILED" throw e } finally { // Success or failure, always send notifications notifyBuild(currentBuild.result) }}def notifyBuild(String buildStatus = 'STARTED') { // build status of null means successful buildStatus = buildStatus ?: 'SUCCESSFUL' // Default values def colorName = 'RED' def colorCode = '#FF0000' def subject = "${buildStatus}: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'" def summary = "${subject} (${env.BUILD_URL})" // Override default values based on build status if (buildStatus == 'STARTED') { color = 'YELLOW' colorCode = '#FFFF00' } else if (buildStatus == 'SUCCESSFUL') { color = 'GREEN' colorCode = '#00FF00' } else { color = 'RED' colorCode = '#FF0000' } // Send notifications slackSend (color: colorCode, message: summary)}
完整的代码片段可以在这里找到Jenkinsfile模板
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)