持续集成 02|Jenkins介绍与安装、Postman集成Jenkins、代码集成Jenkins

目录

一、Jenkins介绍与安装

1、Jenkins的安装和启动

2、插件安装介绍

3、系统设置

二、Postman集成Jenkins

1、准备工作:测试newman命令无误

2、使用Jenkins管理-手动构建

3、使用Jenkins管理-自动构建

三、代码集成Jenkins

1、准备工作

2、使用Jenkins管理-手动构建

3、使用Jenkins管理-自动构建


一、Jenkins介绍与安装

1、Jenkins的安装和启动

🔴简介:

基于++Java++ 开发(必须安装jdk )的一种++开源++ 、++跨平台++的持续集成工具

🔴安装:

操作作细节见《Jenkins安装与邮箱配置全流程指导手册》中 "安装JDK" 及 "离线安装Jenkins" 小节。

①安装jdk:

必须安装 jdk,且需要是1.8版本,这样才能和后续安装的jenkins适配。

要配置环境变量。

jdk查验:java -version 能看到****1.8 版 jdk 即可!!!

②安装Jenkins:

离线安装压缩包和启动文件:太大了上传不了,需要的话可以私聊我分享

🔴启动:

  1. 在 jenkins.war 文件 所在 目录地址栏 输入 cmd 打开 终端。

  2. 输入命令 java -jar jenkins.war 启动服务。

  3. 启动成功后,终端窗口 不能关闭。最小化。

  4. 在浏览器地址栏 输入 localhost:8080

2、插件安装介绍

Jenkins左侧菜单栏 ---> "Manage Jenkins" ---> 选择 "Manage Plugins" ---> "可选插件" ---> 插件名称如:"HTML Publisher"

【注意】不要随意更新为最新版,可能出现不兼容的问题

3、系统设置

操作细节见《 Jenkins安装与邮箱配置全流程指导手册》中 "配置Jenkins系统邮箱" 小节。

【配置小结】

  1. Manage Jenkins ---> Configure System

  2. Jenkins Location:

系统管理员邮件地址: ------ 自己申请的邮箱。 (黄色警告,不理)

  1. Extended E-mail Notification:(第一个"高级")

SMTP Username: ------ 自己申请的邮箱

SMTP Password: ------ POP3/SMTP 服务授权码。

  1. 邮件通知:(勾选"使用SMTP认证")

用户名: ------ 自己申请的邮箱

密码: ------ POP3/SMTP 服务授权码。

  1. 点击 "应用" ---> "保存"

二、Postman集成Jenkins

1、准备工作:测试newman命令无误

①打开已完成并测试无误的 postman 项目脚本。 再次执行测试。

(此处用的是该项目的登录接口:Postman接口测试05|实战项目笔记-CSDN博客

②导出( 测试用例集、环境变量、数据文件、全局变量等其他需要的文件)"不 支 持 中 文" ------ 文件名称全部改成英文!

③文件所在目录地址栏 输入 cmd 打开终端。注意:文件名用 "绝对路径" 测试。方便使用 Jenkins。

# 完整命令
newman run 用例集文件.json -e 环境变量文件.json -g 全局变量文件.json -d 数据文件.json/.csv -r htmlextra --reporter-htmlextra-export 测试报告名.html

# 示例
newman run "D:\Jenkins\jenkinsTestCase\bysmsLogin.postman_collection.json" -e "D:\Jenkins\jenkinsTestCase\env.postman_environment.json" -g "D:\Jenkins\jenkinsTestCase\workspace.postman_globals.json" -r htmlextra --reporter-htmlextra-export jenkinsTestReport.html

④执行无误, 查看newman生成的测试报告文件。

更多关于newman的操作看:

Postman接口测试04|批量运行测试用例、参数化、Mock Server、Cookie鉴权、Newman生成测试报告_postman来造大量测试数据-CSDN博客

2、使用Jenkins管理-手动构建

操作步骤

  1. 打开 Jenkins 首页,点击 "新建Item" 创建一个 新任务

  2. 输入任务名,如:bysms_loginAPI_postman。选择 "Freestyle project",点 "确定" 。跳至 "配置"页面。

  3. (选做该步骤)回主页,可看到 ,多出任务 bjtestAPITestIHRMPostman。 点 任务名称,"配置" 可以继续刚才的配置。

  4. 跳至 "构建" 标签。(General 、源码管理、构建触发器、构建环境 四个标签先跳过)

  5. 点击 "增加构建步骤",选择 "Execute Windows batch command" 选项(macOS选择 "Execute shell" )

  6. 将 cmd 终端 测试newman生成测试报告无误的 命令, 粘入"命令" 编辑框中(如有红色浪线警告,忽略)。

  7. "构建后操作" 标签

  8. 点击 "增加构建后操作步骤",选择 "Pulish HTML reports",点击 "新增" 按钮。

  9. 将 Index page[s] 后的值改为:"report.html" 。名称 应与上面 命令中 生成的 测试报告名称 一致。 说明: 因为生成报告时,没有指定目录。 所以:上面 "HTML directory to archive" 是空的。 如果,指定报告生成到其他位置。 要配置 "HTML directory to archive"的值。

  10. Report title 是生成的报告 标题,可修改为 "HTML Report 6666" 试试看。

  11. 点击 "应用" --> "保存"。

  12. 在 自动跳至 页面中,点击 "Build Now",可在下面 Build History(构建历史)中, 看构建成功后会出现的蓝色圆形图标和#1。

  13. 点 #1 后面的时间名称, 点击 "控制台输出" 查看 执行的命令。

  14. 再次点 "Build Now",可以 再构建一次 #2。 以此类推。

(构建成功的话,图标是蓝色,失败的话,是红色)

  1. (选做该步骤)调试页面的点开途径:点击 #1 后面的时间,再点击控制台输出,可以看到newman生成测试报告的命令,内容末尾也能看到"Finished:SUCCESS"也表示构建成功。

  2. 完成后,左侧菜单中 多出 "Report666" 菜单栏。点击可查看测试报告。可能会样式错乱。后续解决。 特别说明: 如有 红色 "失败" 提示,检验是否 测试用例 断言没有通过!用例断言失败, Jenkins 自动判定为 失败!

如果要把构建结果发送到邮件,则看2、使用Jenkins管理-手动构建中的 6

3、使用Jenkins管理-自动构建

简单来说:自动构建,就是设置一个定时器,定时时间到, Jenkins 自动执行测试用例并生成测试报告。

操作步骤:

  1. Jenkins 首页,点击任务名:如: bysms_loginAPI_postman。跳至 "配置" 页面。

  2. "构建触发器" 标签。 选择 "Build periodically(定期地)"

  3. **"日程表"**中写入:* * * * *(注意要空格隔分五个空格) ---> 每个*分别对应 "分 时 日 月 年"

  4. 修改:10 16 * * * 就是 每天的 16 点 10 分 执行。

  5. 点击 "应用" --> "保存",等待......可以看到Build History处自动构建一个 文件------ 成功!

  6. 报告样式错乱的原因:

  7. Jenkins为了避免受到恶意攻击,设置了CSP安全策略。只允许加载 Jenkins服务器上托管的 CSS文件 和 图片文件。

  8. 我们的用例、代码都是放在自己的服务器上,被恶意攻击的可能性极低。

  9. 解决 报告样式错乱:

  10. 在 启动时(启动步骤参考上文一、1、)添加一个参数 :

    java -Dhudson.model.DirectoryBrowserSupport.CSP= -jar Jenkins.war

  1. 如果,已生成的报告,样式依然错乱, 重新 "Build Now" 生成新的报告即可。


要注意改了jenkins的启动参数,要重新构建,重新构建生成的报告就覆盖之前的报告了

三、代码集成Jenkins

1、准备工作

将运行无误,能生成报告的 iHRM项目代码 上传至 Gitee中。

2、使用Jenkins管理-手动构建

  1. 打开 Jenkins 首页, 点击 "新建Item" 创建一个新任务。

  2. 输入任务名,如: bjtestAPITestIHRMCode。选择 "Freestyle project",点 "确定",跳至 "配置" 页面。

  3. "源码管理" 标签。 选择 "Git"。 在 Repository URL 后写入 项目代码在 Gitee的 URL。

  4. "构建" 标签。

  5. 点击 "增加构建步骤", 选择 "Execute Windows batch command" 选项(macOS选择 "Execute shell" )

  6. 输入命令 python run_suite.py ( 与在 pycharm 的 Terminal 中执行,相同含义)

  7. "构建后操作" 标签

  8. 点击 "增加构建后操作步骤",选择 "Pulish HTML reports",点击 "新增" 按钮。

  9. 在 "HTML directory to archive" 中 写入 报告生成的位置。 如:./report (与项目目录一致)

  10. Index page[s] 后的值,与 run_suite.py 中代码,生成的测试报告名称保持一致。如:ihrm.html。

  11. 再次点击 "增加构建后操作步骤", 选择 "Editable Email Notification" 设置 邮件发送测试报告 。 1. 在 "Project Recipient List" ,$DEFAULT_RECIPIENTS 后使用 英文 "," 隔分,添加邮箱地址(使用持续集成 01|Gitee-CSDN博客中注册的163邮箱)。

  12. 下面 "Content-Type" 的值,选择 HTML(text/html)

  13. 复制下面的"邮件测试报告模板" 代码到 "Default Content " 中。

(如果之后在公司工作,则用公司的模板即可,公司无模板则用下面的模板也可)

html 复制代码
<!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">
<div>
<h2>项目信息</h2>
<ul>
<li>项目名称:${PROJECT_NAME}</li>
<li>详细测试报告:<a 
href="${PROJECT_URL}HTML_20Report/">${PROJECT_URL}HTML_20Report/</a></li>
<li>触发原因:${CAUSE}</li>
<li>项目Url:<a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
</ul>
<hr/>
<h2>构建日志</h2>
<div>${JELLY_SCRIPT,template="html"}</div>
<hr/>
</div>
</body>
</html>
  1. 点击右下角 "Advanced Settings" 按钮。将 "Trigger" 原有的内容 点 最外层 "红叉" 删除。 点击 "Add Trigger" 选择 Always 。

  2. 点击 "应用" --> "保存"。

  3. 点击 "Build Now" 开始手动构建。后面的步骤和上面2、使用Jenkins管理-手动构建的相同

3、使用Jenkins管理-自动构建

这次自动构建隔段时间就自动检测代码是否有变化,有变化就自动发送邮件

1.点击 "配置" 查看,在 "构建触发器" 标签。 选择 "Build periodically(定期地)" 添加 定时构建! 2. "日程表" 中写入:* * * * *(空格隔分) ---> 分别对应 "分 时 日 月 年"

修改:10 16 * * * 就是 每天的 16 点 10 分 执行。

  1. 也可以在 "构建触发器" 标签 中选择 "Poll SCM"。 写入 :*/1 * * * * (空格隔分)

代表1分钟 检查一次 gitee 上的代码,查验是否有更新。检测到代码有更新就自动构建并发送邮件(如果设置了发送邮件的操作),没有更新就不构建。

  1. PyCharm 修改代码 Commit、Push,或者 直接在 Gitee修改,导致 Gitee上的代码有 变动。会触发Jenkins 会自动构建。

本文内容思维导图:

全部内容:

持续集成 01|Gitee-CSDN博客

持续集成 02|Jenkins-CSDN博客

相关推荐
dd要努力变优秀!27 分钟前
Nginx简述
运维·nginx
hhzz28 分钟前
nginx的可视化配置工具nginxWebUI的使用
运维·nginx
SafePloy安策5 小时前
商用服务器密码机的加密技术与优势
运维·服务器·github
安的列斯凯奇7 小时前
JavaRestClient 客户端初始化+索引库操作
运维·jenkins
惟长堤一痕7 小时前
黑马linux入门笔记(01)初始Linux Linux基础命令 用户和权限 实用操作
linux·运维·笔记
飞花舞者7 小时前
nginx代理服务器配置不正确出现的小bug
运维·nginx·bug
CAD芯智库9 小时前
国产信创3D- 中望3D Linux 2025发布,助力企业高效转型国产三维CAD
linux·运维·3d
测试者家园9 小时前
如何提高自动化测试覆盖率和效率
自动化测试·软件测试·人工智能·ci/cd·测试覆盖率·it行业·质量效能
霍格沃兹测试开发学社测试人社区9 小时前
Jenkins质量门禁设计方案的深入探讨
运维·软件测试·测试开发·jenkins
YoungerChina10 小时前
浏览器输入http形式网址后自动跳转https解决方法
运维