Jenkins流水線執行完成後發送郵件通知


Jenkins流水線執行完成後發送郵件通知


Jenkins流水線執行完成後發送郵件通知

安裝插件

Jenkins需要配置郵件通知,安裝插件Email Extension,然後進入系統管理-> 系統設置 ->Extended E-email Notification。這裡我使用的是QQ郵箱,填寫SMTP服務器地址smtp.qq.com 和端口 465注意要開啟SSL,密碼為授權碼。


Jenkins流水線執行完成後發送郵件通知


配置插件


Jenkins流水線執行完成後發送郵件通知

郵件通知的功能很重要,我們要為每條流水線都加上這個步驟,我們在共享庫中封裝一個toemail.groovy。新建文件src/org/devops/toemail.groovy。在這個文件中,我們寫了一段HTML代碼,主要展示Jenkins的構建信息。

<code>package org.devops

//定義郵件內容
def Email(status,emailUser){
emailext body: """







<table>



構建信息/<font>





  • 項目名稱:${JOB_NAME}

  • 構建編號:${BUILD_ID}

  • 構建狀態: ${status}

  • 項目地址:

  • 構建日誌:





/<table>

""",
subject: "Jenkins-${JOB_NAME}項目構建信息 ",
to: emailUser
}/<code>

測試郵件

<code>#!groovy

@Library('jenkinslibrary@master') _

//func from shareibrary
def gitlab = new org.devops.gitlab()
def toemail = new org.devops.toemail()

//branch
branchName = branch - "refs/heads/"
currentBuild.description = "Trigger by ${userName} ${branch}"
gitlab.ChangeCommitStatus(projectId,commitSha,"running")


//pipeline
pipeline{
agent { node { label "build"}}
stages{

stage("CheckOut"){
steps{
/> println("${branchName}")
}
}
}
}

post {
always{
/> println("always")
}
}

success{
/> println("success")
gitlab.ChangeCommitStatus(projectId,commitSha,"success")
toemail.Email("流水線成功",userEmail)
}

}
failure{
/> println("failure")
gitlab.ChangeCommitStatus(projectId,commitSha,"failed")
toemail.Email("流水線失敗了!",userEmail)
}
}

aborted{
/> println("aborted")
gitlab.ChangeCommitStatus(projectId,commitSha,"canceled")
toemail.Email("流水線被取消了!",userEmail)
}

}

}

}/<code>

接下來可以調試了,如果沒有問題會在郵箱中看到此封郵件。


Jenkins流水線執行完成後發送郵件通知




Jenkins流水線執行完成後發送郵件通知


Jenkins流水線執行完成後發送郵件通知


分享到:


相關文章: