项目构建细节4-配置邮箱服务器发送构建结果

简介: 安装Email Extension插件

安装Email Extension插件


2387773-20220214195254788-869285721.png

 

 

Jenkins设置邮箱相关参数

Manage Jenkins->Configure System

2387773-20220214195315310-609234142.png

 

 

有此选项设置

2387773-20220214195331206-1650933644.png

 

在添加邮件地址前,先开启邮箱这些功能:

2387773-20220215155832733-1591386586.png

2387773-20220215155840996-1020875014.png

2387773-20220215155846667-1332767891.png

 


 

这些东西后面有用

尤其授权码:切记

 

接着做:

jenkins本地系统配置:

2387773-20220215160221876-1208330935.png2387773-20220215160505170-1936281010.png

 


点击添加:


2387773-20220215160517506-228352260.png

2387773-20220215160638379-1547891165.png

2387773-20220215160716448-1669076474.png2387773-20220215160843321-2052453039.png

2387773-20220215161031221-1126740524.png

2387773-20220215161112794-1902025852.png

 

准备邮件内容


切换提交分支master

2387773-20220215161332797-1308424047.png

 

在项目根目录编写email.html,并把文件推送到Gitlab,内容如下:

2387773-20220215161430454-705836652.png

 

内容如下:


<!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">
    <tr>
        <td>(本邮件是程序自动下发的,请勿回复!)</td>
    </tr>
    <tr>
        <td><h2>
            <font color="#0000FF">构建结果 - ${BUILD_STATUS}</font>
        </h2></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>构建日志: <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>
        </td>
    </tr>
    <tr>
        <td><b><font color="#0B610B">Changes Since Last Successful Build:</font></b>
            <hr size="2" width="100%" align="center" /></td>
    </tr>
    <tr>
        <td>
            <ul>
                <li> 历 史 变 更 记 录 : <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a></li>
            </ul> ${CHANGES_SINCE_LAST_SUCCESS,reverse=true, format="Changes for Build #%n:<br />%c<br />",showPaths=true,changesFormat="<pre>[%a]<br
        />%m</pre>",pathFormat="    %p"}
        </td>
    </tr>
    <tr>
        <td><b>Failed Test Results</b>
            <hr size="2" width="100%" align="center" /></td>
    </tr>
    <tr>
        <td><pre
                style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">$FAILED_TESTS</pre>
            <br /></td>
    </tr>
    <tr>
        <td><b><font color="#0B610B">构建日志 (最后 100行):</font></b>
            <hr size="2" width="100%" align="center" /></td>
    </tr>
    <tr>
        <td><textarea cols="80" rows="30" readonly="readonly" style="font-family: Courier New">${BUILD_LOG,
maxLines=100}</textarea>
        </td>
    </tr>
</table>
</body>
</html>


然后把上面的邮件模板提交到gitlabmaster分支上

基本操作就不贴图了

 

 

 

然后 编写Jenkinsfile添加构建后发送邮件(添加红色代码段 post部分)

最后的to地址要是你的收件地址 格式不能转行


代码如下:


pipeline {
    agent any
    stages {
        stage('pull code') {
            steps {
                checkout([$class: 'GitSCM', branches: [[name: '*/${branch}']], extensions: [], userRemoteConfigs: [[credentialsId: 'd5bb0e98-15f2-477f-8db7-2c33ecc6c644', url: 'git@20.0.0.20:niuma/web_demo.git']]])
            }
        }
        stage('build project') {
            steps {
                sh 'mvn clean package'
            }
        }
        stage('deploy item') {
            steps {
                deploy adapters: [tomcat8(credentialsId: '38dcb730-8901-41bb-b8d0-d1500aa9cf79', path: '', url: 'http://20.0.0.40:8080/')], contextPath: null, war: 'target/*.war'
            }
        }
    }
    post {
            always {
                emailext(
                subject: '构建通知:${PROJECT_NAME} - Build # ${BUILD_NUMBER} - ${BUILD_STATUS}!',body: '${FILE,path="email.html"}', to: '1321519531@qq.com'
                )
            }
        }
}


编写好就把jenkinsfile提交

2387773-20220215161922894-1791866743.png

 

 

然后去测试:

构建一个流水线,然后等待邮箱收件:

2387773-20220215162131317-2053198422.png

 

2387773-20220215162219934-1122780053.png

 

相关文章
|
7天前
|
Java 应用服务中间件 开发者
【实战指南】Java Socket编程:构建高效的客户端-服务器通信
【6月更文挑战第21天】Java Socket编程用于构建客户端-服务器通信。`Socket`和`ServerSocket`类分别处理两端的连接。实战案例展示了一个简单的聊天应用,服务器监听端口,接收客户端连接,并使用多线程处理每个客户端消息。客户端连接服务器,发送并接收消息。了解这些基础,加上错误处理和优化,能帮你开始构建高效网络应用。
|
6天前
|
安全 Java 网络安全
Java Socket编程教程:构建安全可靠的客户端-服务器通信
【6月更文挑战第21天】构建安全的Java Socket通信涉及SSL/TLS加密、异常处理和重连策略。示例中,`SecureServer`使用SSLServerSocketFactory创建加密连接,而`ReliableClient`展示异常捕获与自动重连。理解安全意识,如防数据截获和中间人攻击,是首要步骤。通过良好的编程实践,确保网络应用在复杂环境中稳定且安全。
|
7天前
|
存储 负载均衡 网络协议
杨老师课堂之JavaWeb项目架构之NFS文件服务器
杨老师课堂之JavaWeb项目架构之NFS文件服务器
16 0
|
5天前
|
前端开发 安全 Java
Java服务器端开发实战:利用Servlet和JSP构建动态网站
【6月更文挑战第23天】**Servlet和JSP在Java Web开发中扮演关键角色。Servlet处理业务逻辑,管理会话,JSP则结合HTML生成动态页面。两者协同工作,形成动态网站的核心。通过Servlet的doGet()方法响应请求,JSP利用嵌入式Java代码创建动态内容。实战中,Servlet处理数据后转发给JSP展示,共同构建高效、稳定的网站。虽然新技术涌现,Servlet与JSP仍为Java Web开发的基石,提供灵活且成熟的解决方案。**
|
1天前
|
前端开发 小程序 应用服务中间件
在服务器上正确配置域名https证书(ssl)及为什么不推荐使用宝塔申请免费ssl证书
在服务器上正确配置域名https证书(ssl)及为什么不推荐使用宝塔申请免费ssl证书
17 4
|
5天前
|
前端开发 小程序 Java
深入解析Java Servlet与JSP:构建高效服务器端应用
【6月更文挑战第23天】Java Servlet和JSP是Web开发的关键技术,用于构建高效服务器端应用。Servlet处理HTTP请求,执行业务逻辑,而JSP专注于动态HTML生成。两者结合,借助MVC架构,实现逻辑与视图分离,提高代码可读性和性能。尽管有新框架出现,Servlet和JSP仍是许多项目的基础。
|
4天前
|
运维 Java 测试技术
Spring运维之boo项目表现层测试加载测试的专用配置属性以及在JUnit中启动web服务器发送虚拟请求
Spring运维之boo项目表现层测试加载测试的专用配置属性以及在JUnit中启动web服务器发送虚拟请求
9 3
|
3天前
|
弹性计算 运维 Java
解决方案测评(高效构建企业门户网站方案)基于ecs&云效&云解析DNS&VPC结合的自搭建方案报告
该文档是一个关于使用ECS、云效、云解析DNS和VPC结合的自搭建方案报告。主要内容包括前言部分,可能详细探讨了如何集成这些阿里云服务以构建自定义系统。由于提供的内容有限,具体的实施方案和细节未在摘要中体现。
161 2
|
3天前
|
Java Maven
springboot项目打jar包后,如何部署到服务器
springboot项目打jar包后,如何部署到服务器
13 1
|
7天前
|
存储 并行计算 数据处理
蓝易云 - 香港站群服务器1C,4C,8C,16C的配置介绍
以上是对服务器CPU核心数量的基本解释,但实际的服务器配置还会包括其他因素,如内存大小、存储类型和网络带宽等。这些因素都会影响服务器的性能和适用场景。
22 2