您的位置:首页 > 其它

Jenkins中配置邮件通知的方法和实例演练

2018-01-31 17:55 375 查看


一、文章意图

本文通过安装配置Jenkins实现邮件通知,告知一个C# GitRepo的build成功与否

二、预配条件

1.在windows上安装Jenkins和它推荐安装的Plugins

2.创建一个@163.com邮箱账号,用来发送邮件

3.准备一个测试用的git repo,此处我提供了 https://github.com/wenboyang214/jenkinsCsharpTest.git

4.运行下列脚本,Jenkins需要设置git、msbuild等的环境变量,请自行设置

三、对邮箱账号本身进行设置(此处以163邮箱为例,其他类似)

Note: Jenkins中配置的邮箱secret需要授权码,而不是密码本身。因此我们需要获取授权码。









四、配置Jenkins 的系统参数



[b]你需要做如下截图的配置[/b]

1.最好更改一下Jenkins的Workspace Root Directory,避免符号的一些错误



2.设置Jenkins的System Admin e-mail address,此处的邮箱要和你email notification的邮箱一致



3.在Extended E-mail Notification中进行如下设置,没设置的地方,保持默认



五、测试邮箱提醒功能

1.简单创建一个新的Pipeline item 名称为”test”

2.将下列脚本copy到Pipeline script中

#!/usr/bin/env groovy Jenkinsfile
pipeline {
agent any
environment {
def gitRepo="https://github.com/wenboyang214/jenkinsCsharpTest.git"
def mailRecipients="wenbya@163.com"
}
stages {
stage('1. check the git repo'){
steps{
git "${gitRepo}"
}
}
stage('3. msbuild the project'){
steps{
bat "msbuild .\\JenkinsTest\\JenkinsTest.sln"
}
}
}
post {
always {
echo 'testing email notification'
}
success {
echo 'This will run only if successful'
emailext(
body: '''${SCRIPT, template="groovy-html.template"}''',
mimeType: 'text/html',
subject: "[Jenkins]${currentBuild.fullDisplayName}",
to: "${mailRecipients}",
replyTo: "${mailRecipients}",
recipientProviders: [[$class: 'CulpritsRecipientProvider'],[$class: 'DevelopersRecipientProvider']]
)
}
failure {
echo 'This will run only if failed'
emailext( body: '''${SCRIPT, template="groovy-html.template"}''',
mimeType: 'text/html',
subject: "[Jenkins]${currentBuild.fullDisplayName}",
to: "${mailRecipients}",
replyTo: "${mailRecipients}",
recipientProviders: [[$class: 'CulpritsRecipientProvider'],[$class: 'DevelopersRecipientProvider']]
)
}
unstable {
echo 'This will run only if the run was marked as unstable'
}
changed {
echo 'This will run only if the state of the Pipeline has changed'
echo 'For example, if the Pipeline was previously failing but is now successful'
}
}
}


直接启动这个test item

六、进行对错改动,并检查邮箱是否收到邮件



更改msbuild的路径,故意让其build出错,检查是否能收到报错邮件。

bat “msbuild .\JenkinsTest\JenkinsTest.sln” => bat “msbuild .\JenkinsTest1\JenkinsTest.sln”

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: