Jenkins 是一个开源的自动化服务器。通过Jenkins,可以通过自动化加速软件开发过程。Jenkins管理和控制各种开发的生命周期过程,包括构建,文档,测试,包,阶段,部署,静态分析等等。您可以设置Jenkins来监视像SVN和Git这样的地方的任何代码更改,使用Ant和Maven等工具自动执行构建,启动测试等。在构建失败、构建不稳定等状态还可以发送邮件通知,现介绍一下如何在 Jenkins中配置实现邮件通知。
Jenkins内置的邮件通知并不能够满足我们,因为它无法定义发送的邮件格式,无法灵活的定义邮件接收者配置等。所以我们在使用Jenkins邮件通知的时候使用到Email Extension Plugin 插件,下面记录在jenkins blue ocean 模式下使用Extended Email插件发送自定义内容邮件通知。
1、全局配置。如下图步骤依次进行。
1、首先下载插件(搜索手动下载即可不在详细叙述)。(Email Extension Template插件名)
2、全局配置extension插件(1.1图片)
1.0 1.1、图片找到此插件配置内容。下面开始一一介绍配置项:
SMTP server #设置smtp服务器smtp.ym.163.com
Default user E-mail suffix #设置默认的用户邮件后缀
Default Content Type #默认的内容类型,你自己选我用的text也可以使用html
Use List-ID Email Header #使用邮件头列表id 我设置了01 主要看看效果。
Default Recipients #默认的收件人, 写你邮件账号。
Reply To List #回复列表。基本没用
Emergency reroute #个人理解为紧急收件人
Excluded Recipients #排除收件人
Default Subject #邮件标题
构建通知:$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!
Maximun Attachment Size #最大附件大小
Default Content #默认的邮件内容
$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS:
Check console output at $BUILD_URL to view the results.
(本邮件是程序自动下发的,请勿回复!)
项目名称:$PROJECT_NAME
构建编号:$BUILD_NUMBER
项目描述:${JOB_DESCRIPTION}
构建状态:${BUILD_STATUS}
触发原因:${CAUSE}
与上次不稳固构建和成功构建相比的变化: ${CHANGES_SINCE_LAST_UNSTABLE}
3、配置jenkins内置邮件,因为要通过他来发送。
1.3、图片简单略过看着配置就好。
2、blue ocean 项目配置
PostsendScript #默认项$DEFAULT_POSTSEND_SCRIPT
PresendScript #默认项$DEFAULT_PRESEND_SCRIPT
blue ocean的邮件功能默认功能与经典模式下使用 Editable Email Notification 相比要更加完善(默认),比如:
经典模式下需要在项目 构建后操作添加 Editable Email Notification项后,通过,高级,添加触发器,选择触发条件
添加接收人,这些操作才可以使项目构建成功也会发送邮件通知。jenkins的经典模式在没有这些之前构建成功是不会发送邮件的。但是blue ocean 设置好上述图片配置后,项目构建成功会默认发送邮件给相关人员。
最后构建完项目后会自动生成Jenkinsfile文件,在你代码根目录。其中邮件发送功能的语法为:
#仅邮件功能代码
stage('Sendmail') {
steps {
emailext(subject: '$DEFAULT_SUBJECT', body: '$DEFAULT_CONTENT', attachLog: true, compressLog: true, postsendScript: '$DEFAULT_POSTSEND_SCRIPT', presendScript:'$DEFAULT_PRESEND_SCRIPT', replyTo: ‘回复列表', to: '要发送给谁')
}
}
网友评论