jenkins系列---【jenkins配置邮件通知】
1.打开jenkins系统设置
2.配置扩展信息
配置jenkins,下图的密码就是上图的授权码
查看邮件,收到如下的邮件
3.编写jenkinsfile
//流水线脚本 pipeline { //集群模式下,任何一个代理可用就可以执行 agent any environment { WS = "${WORKSPACE}" TOPIC = "测试" TITLE = "标题" CONTENT = "具体内容" } //定义流水线的加工流程 stages { stage('环境检查') { steps{ sh 'printenv' echo "正在检测基本信息" sh 'java -version' sh 'git --version' sh 'docker version' } } stage('编译') { //jenkins不配置任何环境的情况下可以兼容任何场景 agent { docker { image 'maven:3-alpine' } } steps{ sh 'pwd && ls -alh' sh 'mvn -v' sh "echo 默认的项目目录:${WS}" //注意:cd ${WS} && mvn不能分开写,也不能直接用${WORKSPACE} sh 'cd ${WS} && mvn clean package -Dmaven.test.skip=true -f fast-boot/pom.xml -s "/var/jenkins_home/appconfig/maven/settings.xml"' } } // //注意:每一个stage开始,都会默认回到workspace目录的对应job目录下 // stage('测试') { // steps{ // sh 'pwd && ls -alh' // echo '测试' // } // } stage('生成镜像') { steps{ sh 'pwd && ls -alh' echo '生成镜像' sh 'docker version' sh "echo 默认的项目目录:${WS}" sh 'cd ${WS}/fast-boot && docker build -t home-finance .' } } stage('部署') { steps{ echo '部署....' sh 'pwd && ls -alh' sh 'pwd && ls -alh' sh 'docker rm -f home-finance' sh 'docker run -d -p 8081:8081 --name home-finance home-finance' } } // stage('发送报告') { steps{ emailext body: '''<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title> </head> <body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0"> <table width="95%" cellpadding="0" cellspacing="0" style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif"> <h3>本邮件由系统自动发出,请勿回复!</h3> <tr> <br/> 各位同事,大家好,以下为${PROJECT_NAME }项目构建信息</br> <td><font color="#CC0000">构建结果 - ${BUILD_STATUS}</font></td> </tr> <tr> <td><br /> <b><font color="#0B610B">构建信息</font></b> <hr size="2" width="100%" align="center" /></td> </tr> <tr> <td> <ul> <li>项目名称 : ${PROJECT_NAME}</li> <li>构建编号 : 第${BUILD_NUMBER}次构建</li> <li>触发原因: ${CAUSE}</li> <li>构建状态: ${BUILD_STATUS}</li> <li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li> <li>构建 Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li> <li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li> <li>项目 Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li> </ul> <h4><font color="#0B610B">最近提交</font></h4> <ul> <hr size="2" width="100%" /> ${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"} </ul> 详细提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/> </td> </tr> </table> </body> </html>''', subject: '${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志', to: 'hujunwei0326@163.com' } } } post { always { pushplus ("home_finance") } } }
愿你走出半生,归来仍是少年!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2020-02-22 开发中遇到的问题---【两个switch尽量不要套用】
2020-02-22 我爱java系列---【String.Split方法】