安裝插件
Jenkins需要配置郵件通知,安裝插件Email Extension,然後進入系統管理-> 系統設置 ->Extended E-email Notification。這裡我使用的是QQ郵箱,填寫SMTP服務器地址smtp.qq.com 和端口 465注意要開啟SSL,密碼為授權碼。
配置插件
郵件通知的功能很重要,我們要為每條流水線都加上這個步驟,我們在共享庫中封裝一個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>
接下來可以調試了,如果沒有問題會在郵箱中看到此封郵件。
閱讀更多 DevOps運維開發圈 的文章