4.5.1、最终效果如下
触发自动构建部署后发送邮件

4.5.2、编写邮件共享库
文件目录名:src/org/devops/toemail.groovy--Jenkins图标地址:<img src="http://47.93.249.164:8888/static/0eef74bf/images/headshot.png">=================================================================================================package org.devops//定义邮件内容def Email(status,emailUser){emailext body: """<!DOCTYPE html><html><head><meta charset="UTF-8"></head><body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0"><img src="http://47.93.249.164:8888/static/0eef74bf/images/headshot.png"><table width="95%" cellpadding="0" cellspacing="0" style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif"><tr><td><br /><b><font color="#0B610B">构建信息</font></b></td></tr><tr><td><ul><li>项目名称:${JOB_NAME}</li><li>构建编号:${BUILD_ID}</li><li>构建状态: ${status} </li><li>项目地址:<a href="${BUILD_URL}">${BUILD_URL}</a></li><li>构建日志:<a href="${BUILD_URL}console">${BUILD_URL}console</a></li></ul></td></tr><tr></table></body></html> """,subject: "Jenkins-${JOB_NAME}项目构建信息 ",to: emailUser}
4.5.3、编写Jenkinsfile调用邮件共享库
文件名:Jenkinsfile#!groovy//引用Library库@Library('jenkinslib@master') _//引用构建共享库def build = new org.devops.build()//引入发布共享库def toemail = new org.devops.toemail()String srcUrl = "${env.srcUrl}" //引用参数String branchName = "${env.branchName}" //引用参数String buildType = "${env.buildType}" //引用参数String buildShell = "${env.buildShell}" //引用参数String user_email = "${env.user_email}" //引用参数pipeline {agent {node {label "master" //构建主机}}stages {//下载代码stage("CheckOut") {steps {script {checkout([$class: 'GitSCM', branches: [[name: "${branchName}"]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'gitlabpwd', url: "${srcUrl}"]]])}}}stage("Build") {steps {script {//引入构建共享库内函数build.Build(buildType,buildShell)//引用发布共享库内函数}}}}post {always{script{println("流水线结束后,经常做的事情")}}success{script{println("流水线成功后,要做的事情")toemail.Email("流水线构建成功",user_email)}}failure{script{println("流水线失败后,要做的事情")toemail.Email("流水线构建失败",user_email)}}aborted{script{println("流水线取消后,要做的事情")toemail.Email("流水线构建取消",user_email)}}}}
4.5.4、gitlab配置邮箱
gitlab配置的邮箱为代码提交者的邮箱,目的是为了提醒开发人员提交代码后Jenkins构建是否成功。一般每创建一个用户,都需要为该用户添加一个邮箱。
4.5.4.1、新建用户




4.5.4.2、项目设置权限



wangyueying用户只能看到刚刚设置权限的两个仓库
4.5.4.3、王越颖用户自行设置邮箱地址

4.5.5、Jenkins配置
4.5.5.1、Jenkins插件安装
Email Extension TemplateEmail Extension Plugin
4.5.5.2、Jenkins项目配置
其他按照4.1/4.2/4.3/4.4配置

4.5.5.3、Jenkins系统管理配置添加邮件服务器


password为邮件的授权码
4.5.6、gitlab代码提交
触发自动构建


4.5.7、验证结果

