Jenkins 用戶文檔(清理和通知)

清理和通知

因爲管道的post部分保證在管道執行結束時運行,咱們能夠添加一些通知或其餘步驟來執行最終、通知或其餘管道結束任務。node

Jenkinsfile (Declarative Pipeline)
pipeline {
    agent any
    stages {
        stage('No-op') {
            steps {
                sh 'ls'
            }
        }
    }
    post {
        always {
            echo 'One way or another, I have finished'
            deleteDir() /* clean up our workspace */
        }
        success {
            echo 'I succeeeded!'
        }
        unstable {
            echo 'I am unstable :/'
        }
        failure {
            echo 'I failed :('
        }
        changed {
            echo 'Things were different before...'
        }
    }
}

腳本管道(高級):segmentfault

Jenkinsfile (Scripted Pipeline)
node {
    try {
        stage('No-op') {
            sh 'ls'
        }
    }
    catch (exc) {
        echo 'I failed'
    }
    finally {
        if (currentBuild.result == 'UNSTABLE') {
            echo 'I am unstable :/'
        } else {
            echo 'One way or another, I have finished'
        }
    }
}

有不少方法能夠發送通知,下面是一些演示如何將有關管道的通知發送到電子郵件、Hipchat聊天室或Slack通道的片斷。post

Email

post {
    failure {
        mail to: 'team@example.com',
             subject: "Failed Pipeline: ${currentBuild.fullDisplayName}",
             body: "Something is wrong with ${env.BUILD_URL}"
    }
}

Hipchat

post {
    failure {
        hipchatSend message: "Attention @here ${env.JOB_NAME} #${env.BUILD_NUMBER} has failed.",
                    color: 'RED'
    }
}

Slack

post {
    success {
        slackSend channel: '#ops-room',
                  color: 'good',
                  message: "The pipeline ${currentBuild.fullDisplayName} completed successfully."
    }
}

如今,當事情失敗、不穩定甚至成功時,團隊會收到通知。測試


上一篇:記錄測試結果和工件

下一篇:部署

相關文章
相關標籤/搜索