Jenkins构建流程配置

本文介绍如何使用Jenkins进行Maven自动化构建,并配置Allure生成测试报告,包括定时构建策略、邮件通知设置及Allure插件的安装。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建自动化maven构建流程

前提条件:

1.Maven Integration plugin已安装
2.全局配置
Manager Jenkins下Global Tool Configuration工具相关配置如下
全局配置界面
下图Allure不知道暂时可不配置
Allure配置

点击新建item

新建item

输入名称后点击确定:

命名界面

源码管理

以git为例,输入仓库地址

源码管理

点击添加按钮,在弹出的页面中输入git的用户名和密码

鉴权配置1

鉴权配置2

Credentials下拉框选择刚刚配置的数据

关联用户信息

构建触发器

配置自动构建定时任务
选择Build periodically
触发器配置

日程表格式:
每隔5分钟构建一次
H/5 * * * *
每两小时构建一次
H H/2 * * *
每天中午12点定时构建一次
H 12 * * *
每天下午18点定时构建一次
H 18 * * *
在每个小时的前半个小时内的每10分钟
H(0-29)/10 * * * *
每两小时45分钟,从上午9:45开始,每天下午3:45结束
9-16/2 * * 1-5
每两小时一次,每个工作日上午9点到下午5点(也许是上午10:38,下午12:38,下午2:38,下午4:38)
H H(9-16)/2 * * 1-5

构建环境

无需修改

构建环境配置

Pre Steps

Pre Steps配置

构建设置

无需配置
构建设置

构建后操作

用来增加比如生成Allure Report或者邮件通知相关的数据
继续下个步骤前,可先保存当前配置后,按照如下操作

配置Allure Report

1.Jenkins管理界面安装插件Allure Jenkins Plugin

2.登陆github下载Allure官方工具

https://github.com/allure-framework/allure2/releases

3.点击下载

点在Allure官方工具

4,自行规划目录并解压即可

5,按照前期准备步骤操作图4

6.回到jenkins界面

7.点击下拉框,继续点击配置按钮

配置Allure-1

8.切换至构建后操作栏目

配置Allure-2

  1. 点击增加构建后操作步骤并选择Allure Report(正常步骤1的插件安装完成后,即可选到Allure Report)

配置Allure-3

  1. 配置如下

配置Allure-4

Path的路径取决于项目配置allure json文件的生成相对路径,如我的项目的pom文件中的对应配置如下:

<!--生成allure-result的目录-->
<systemProperties>
    <property>
        <name>allure.results.directory</name>
        <value>./target/allure-results</value>
    </property>
</systemProperties>

点击构建,完成后如下页面点击Allure Repoter即可

构建结果-1

构建结果-2

配置邮件通知

###单项目邮件通知

  1. 进入插件管理搜索安装Email Extension Plugin

  2. 进入Manage Jenkins->系统配置界面

  3. Extended E-mail Notification页签配置如下

普通邮件通知配置-1

普通邮件通知配置-2

普通邮件通知配置-3

Default Subject  配置如下:
$自动化测试结果通知 - Build # $BUILD_NUMBER - $BUILD_STATUS!
Default Content配置如下
<!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>
 本邮件由系统自动发出,无需回复!<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}allure">${BUILD_URL}allure</a></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>
<hr size="2" width="100%" />
$FAILED_TESTS<br/>
<h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4>
<hr size="2" width="100%" />
<ul>
${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>
  1. 邮件通知页签配置如下(参考步骤3)

邮箱通知配置
图中使用的126邮箱,需要登录到主邮箱修改开放smtp权限
5. 不同于上面的配置,此处可以检测你的配置是否正确
5.1勾选通过发送测试邮件测试配置
5.2输入收件人邮箱
5.3 点击测试连接,正常场景会受到一封邮件如下
测试连接
6. 编辑构建流程
7. 选中构建后操作
构建后操作
8. 滑至底部,点击增加构建后操作步骤
9. 选择编辑邮件通知节点
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VZd2ovZS-1587303650158)(https://upload-images.jianshu.io/upload_images/7520992-02d46b812f961c8b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
10. 配置如下
邮件配置-1
邮件配置-2

Default Subject  配置如下:
$自动化测试结果通知 - Build # $BUILD_NUMBER - $BUILD_STATUS!
Default Content配置如下
<!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>
 本邮件由系统自动发出,无需回复!<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}allure">${BUILD_URL}allure</a></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>
<hr size="2" width="100%" />
$FAILED_TESTS<br/>
<h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4>
<hr size="2" width="100%" />
<ul>
${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>

<此处有重复,自行按照说明配置即可>

  1. 继续点击高级设置

高级设置
12. 删除原配置
删除原配置
13. 点击add Trigger
tigger配置
14. 选择always,表示总是发送邮件
15. 配置收件群组
接收群组配置
注意,很多人说RecipientList必须删除下,然后重新添加,才能正常收到邮件,如果各位收不到邮件可以尝试下
16. 触发构建,最终收到的邮件如下
邮件通知结果

##邮件模板配置
上述提供的邮件发送,仅仅支持单独的项目使用,每个项目都这么去配置的话,比较浪费时间,下面说明模板配置的方法

1.进入邮件模板配置界面(如果没有,查看插件[Email Extension Template Plugin(https://plugins.jenkins.io/emailext-template)是否正常安装)
进入邮件模板配置

2.点击添加新模板
添加模板
3.按照截图配置
配置信息-1
配置信息-2
展开高级设置
配置信息-3
Triggers请一定按照截图配置.可参照单项目的邮件配置说明

这里把邮件相关的参数在贴一遍吧

Project Reply-To List:$DEFAULT_REPLYTO
Content Type:text/html
Default Subject:自动化测试结果通知 - Build # $BUILD_NUMBER - $BUILD_STATUS!
Default Content:
<!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>    
            本邮件由系统自动发出,无需回复!<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}allure">${BUILD_URL}allure</a></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>
<hr size="2" width="100%" />
$FAILED_TESTS<br/>
<h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4>
<hr size="2" width="100%" />
<ul>
${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>

4.邮件模板管理项目
编辑项目,选择邮件模板
编辑项目
选择构建后操作,点击增加构建后操作
构建后选择

选择新建的模板名称后保存
管理邮件模板

(可选)重置用户名和密码

进入jenkins安装目录,默认为/var/lib/jenkins

备份配置文件

cp config.xml config.xml.bak

删除截图中对应的配置(关键字useSecurity)

配置

重启jenkins

systemctl restart Jenkins

再次访问jenkins地址可直接打开的首页,无需用户名密码

后续可自行新建用户,并赋予用户相应权限即可使用用户名和密码登陆

<think>好的,我现在需要处理用户关于Jenkins构建流程配置设置的问题。首先,我要仔细阅读用户的问题,确认他们的需求。用户提到想了解Jenkins构建流程,包括配置设置或优化构建过程,可能涉及凭证创建、节点配置、任务设置等方面。 接下来,我需要回顾提供的引用内容,找出相关的信息。引用[1]提到创建凭证、新建节点和构建项目;引用[2]有架构图和详细流程;引用[3]涉及动态参数设置和报告读取;引用[4]提到了添加源代码和配置项目。这些引用内容应该足够覆盖用户的问题。 然后,我需要组织这些信息,按照逻辑顺序分步骤说明构建流程。首先应该介绍整体流程,然后分步骤详细讲解每个部分,比如凭证配置、节点管理、任务创建、构建触发、优化方法等。同时,要确保使用中文,并遵循系统级指令中的格式要求,比如行内数学表达式使用$...$,但这里可能用不上数学公式,但要注意代码块的使用。 还要检查是否需要生成相关问题。根据用户示例,需要在回答末尾添加相关问题,所以需要根据内容生成几个相关问题,比如如何配置动态参数、如何优化构建速度等。 另外,引用标识要自然地添加到相关段落的末尾。例如,在提到创建凭证的部分,添加[^1],在架构图部分添加[^2],动态参数设置部分添加[^3],项目配置部分添加[^4]。 需要注意的是,用户可能对具体的操作步骤不太清楚,所以需要详细说明每一步的操作路径,比如在Jenkins界面中点击哪些选项,如何填写表单等。同时,可能还需要提到一些插件,如Git插件,确保用户知道必要的依赖。 最后,要确保回答结构清晰,分点说明,使用代码块展示脚本或命令,并保持语言简洁明了。检查是否有遗漏的步骤或用户可能关心的其他方面,比如权限管理、日志查看、构建后的操作等,这些在优化部分可以提及。</think>### Jenkins构建流程配置设置分步说明 --- #### 一、整体流程框架 Jenkins构建流程包含以下核心步骤:凭证配置 → 节点管理 → 任务创建 → 构建触发 → 结果反馈,其架构可总结为: $$构建触发 \rightarrow 代码拉取 \xrightarrow{环境配置} 脚本执行 \rightarrow 报告生成$$ 此流程支持自动化测试、持续集成等场景。 --- #### 二、核心配置步骤 1. **凭证配置** - **作用**:存储服务器登录信息、Git仓库密钥等敏感数据 - **操作路径**: `Jenkins首页 → 系统管理 → Manage Credentials → 全局凭证 → 添加凭证` 选择类型(如Username/Password、SSH Key)并填写目标服务器信息[^1] - **示例**: ```plaintext 类型:SSH Username with private key 用户名:deploy 密钥:粘贴服务器私钥内容 ``` 2. **节点管理** - **新建节点**: `Manage Jenkins → Nodes → 新建节点` 配置标签(如`prod-server`)、远程工作目录(如`/var/jenkins`) - **关键参数**: - 启动方式:通过SSH连接(需提前配置好凭证) - 执行器数量:根据CPU核心数设置并行任务上限 3. **任务配置** - **基础设置**: ```plaintext 新建Item → 输入任务名称 → 选择自由风格项目 ``` - **源码管理**: 选择Git并填写仓库地址,需安装Git插件 ```plaintext Repository URL: git@github.com:user/project.git Credentials: 选择已配置的SSH密钥凭证 ``` - **构建触发器**: 支持多种触发方式: - 定时构建:`H/15 * * * *`(每15分钟) - Git Hook:通过Webhook实现代码提交后自动触发 4. **动态参数化构建** - **应用场景**:压力测试时动态设置线程数 - **配置方法**: ```plaintext 勾选"参数化构建过程" → 添加Choice Parameter 名称:THREAD_COUNT 选项:100 500 1000 ``` - **脚本调用**(以JMeter为例): ```bash jmeter -n -t test.jmx -Jthreads=$THREAD_COUNT ```[^3] --- #### 三、构建优化方法 | 优化方向 | 具体措施 | |----------------|--------------------------------------------------------------------------| | 构建速度 | 1. 使用分布式构建(多节点并行)<br>2. 配置增量式代码拉取 | | 资源利用率 | 1. 设置任务互斥标签(避免资源冲突)<br>2. 限制同时构建数 | | 日志管理 | 1. 集成Log Parser插件分析错误日志<br>2. 设置构建保留策略(自动清理旧构建)| | 失败处理 | 1. 配置失败邮件通知<br>2. 设置重试机制(针对网络波动场景) | --- #### 四、关键问题排查点 1. **节点连接失败** - 检查SSH端口是否开放 - 确认凭证私钥与服务器公钥匹配 2. **代码拉取异常** - 执行`git clone`命令手动验证仓库权限 - 查看Jenkins工作空间权限(需赋予执行用户写权限) 3. **报告生成失败** - 安装HTML Publisher插件支持报告展示 - 检查脚本输出路径是否与Jenkins配置一致 --- §§ 1. 如何在Jenkins中实现多环境(开发/测试/生产)的隔离部署? 2. Jenkins如何与Docker集成实现容器化构建? 3. 如何通过Jenkins Pipeline实现复杂构建流程编排? 4. Jenkins构建失败时的自动回滚机制如何配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值