01. Jenkins使用
01. Jenkins使用
安装配置jdk (jdk8) 配置JAVA_HOME环境变量
配置环境变量 JENKINS_HOME D:\DevTools\jenkins\jenkins_home
首次安装使用 java -jar ./jenkins-2.346.1.war
默认端口:8080 访问路径:http://localhost:8080/
启动命令 java -Dhudson.model.DirectoryBrowserSupport.CSP= -jar D:\DevTools\jenkins\Jenkins-2.346.1.war --httpPort=18080 访问路径:http://localhost:18080/ 用户名/密码: admin/123456
关闭杀毒软件或加入jenkins目录为信任目录
linux: nohup java -jar jenkins.war --httpPort=18080 --prefix="/jenkins" 1>jenkins.out 2>&1 &
1. jenkins下载
# 下载路径
https://get.jenkins.io/war-stable/
# jenkins LTS 版本
2.346.1 (June 2022) and newer
Java 8, Java 11, or Java 17
2.463 (June 2024) and newer
Java 17 or Java 21
# 支持JDK 8, 需要先安装配置JDK 8
# 根据 jenkins 版本,安装指定版本的JDK
java -version
2. jenkins安装
1. 修改Jenkins的工作空间目录
1. 创建文件夹:D:\DevTools\jenkins\jenkins_home
2. 把jenkins.war放到D:\DevTools\jenkins 目录下
3. 配置环境变量
变量名: 变量值:
JENKINS_HOME D:\DevTools\jenkins\jenkins_home
Jenkins的工作空间目录默认的查找顺序是先是在操作系统的环境变量中查找名为“JENKINS_HOME”的环境变量,
如果存在该变量,那么Jenkins就采用“JENKINS_HOME”中所指定的目录作为工作空间目录,否则会在user目录下,如“C:\Users\Administrator\.jenkins”。
所以,如果需要修改Jenkins的工作空间,其实就是在电脑的环境变量中创建一个“JENKINS_HOME”环境变量,在该变量中我们指定Jenkins的工作空间目录即可,不需要配置到PATH环境变量中。
2. 运行jenkins
- 安装时最好先退出杀毒软件
360中查看Java微不定、Java微补丁目录中的相关选型需要关闭
- 运行jenkins
cd D:\DevTools\jenkins
java -jar jenkins.war
*************************************************************
*************************************************************
*************************************************************
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
c732063df9e349dfa0d691e47533e3d3
This may also be found at: D:\DevTools\jenkins\jenkins_home\secrets\initialAdminPassword
*************************************************************
*************************************************************
*************************************************************
3. 配置jenkins
1. 访问进行安装
- localhost:8080
- 密码来源:
- 查看启动日志
- xxx\jenkins_home\secrets\initialAdminPassword
2. 解锁 Jenkins
- 在提示的目录找到密码,复制、粘贴到
管理员密
输入框,后续可进行更改密码
3. 自定义Jenkins
jenkins会自动安装页面中显示的插件,根据你的网络情况,这个过程会持续数分钟。
4. 创建第一个管理员用户
username:admin password:123456
5. 实例配置
6. 修改管理员密码
7. 安装插件
- 路径:Dashboard->Manage Jenkins->System Configuration->Manage Plugins->可选插件
- 安装: HTML Publisher
3. 配置邮箱
1. 邮箱配置
- 授权凭证只显示一次,有效期180天
2. jenkins 邮箱配置
- 第一处配置路径:Dashboard->Manage Jenkins -> Configure System->Jenkins Location:系统管理员邮件地址
- 第二处配置路径: Dashboard->Manage Jenkins -> Configure System –> Extended E-mail Notification(扩展电子邮件通知)
点击 “⾼级”。强调: “User Name” 和 “Password” 必 须 点 “⾼级” 按钮,才能看到!否则看不到。在展开的⻚⾯中,“User Name” 后填⼊邮箱。“Password” 后填⼊授权码!(注意不是密码)
- 第三处配置: 邮箱配置及发送测试邮件(Dashboard->Manage Jenkins -> Configure System -> 邮箱通知->高级)
4. Postman持续集成
1. 打开已完成并测试无误的 postman 项目脚本。 再次执行测试。
2. 导出( 测试用例集、环境变量 两个文件)“不 支 持 中 文” —— 全部改成英文!
3. 文件所在目录地址栏 输入 cmd 打开终端。注意:用 “绝对路径” 测试。方便使用 Jenkins。
4. 执行无误, 查看生成的测试报告文件
1. 手动构建-构建项目配置
准备数据
新建项目
构建
构建脚本
windows
call newman run "D:\DevTools\jenkins\postman\DJY-OA.postman_collection.json" -e "D:\DevTools\jenkins\postman\DJY-OA.postman_environment.json" -d "D:\DevTools\jenkins\postman\DJY-OA-postman-data.json" -r htmlextra --reporter-htmlextra-export report.html exit 0
- linux
#!/usr/bin/env bash newman run "D:\DevTools\jenkins\postman\DJY-OA.postman_collection.json" -e "D:\DevTools\jenkins\postman\DJY-OA.postman_environment.json" -d "D:\DevTools\jenkins\postman\DJY-OA-postman-data.json" -r htmlextra --reporter-htmlextra-export report.html exit 0
构建项目
查看控制台输出
构建后的操作
在 自动跳至 页面中,点击 “Build Now”,可在下面 Build History(构建历史)中, 看到构建正在进行。
1. 点 #1 后面的名称 , 点击 “控制台输出” 查看执行的命令。
2. 再次点 “Build Now”,可以再构建一次#2。 以此类推。
3. 完成后,左侧菜单中 多出 “HTML Report By Postman” 菜单栏。点击可查看测试报告。可能会样式错乱。后续解决
2. 自动构建项目
创建项目步骤相同,配置略有区别(构建触发器)
# 安装newman npm install -g newman # 测试安装成功 newman -v (newman: required node version >=16) # 安装newman插件 - 扩展版 npm install -g newman-reporter-htmlextra
- windows
call newman run "D:\DevTools\jenkins\postman\DJY-OA.postman_collection.json" -e "D:\DevTools\jenkins\postman\DJY-OA.postman_environment.json" -d "D:\DevTools\jenkins\postman\DJY-OA-postman-data.json" -r htmlextra --reporter-htmlextra-export report.html exit 0
- linux
#!/usr/bin/env bash newman run "D:\DevTools\jenkins\postman\DJY-OA.postman_collection.json" -e "D:\DevTools\jenkins\postman\DJY-OA.postman_environment.json" -d "D:\DevTools\jenkins\postman\DJY-OA-postman-data.json" -r htmlextra --reporter-htmlextra-export report.html exit 0
另外一种配置
5. 代码集成
1. 将运行无误,能生成报告的 iHRM项目代码 上传至 Gitee中
1. 构建配置
6. Jmeter脚本
7. 发送邮件(测试报告)
postman / python代码发送测试报告步骤基本相同
构建后操作
点击"增加构建后操作步骤",选择"Public HTML reports" ,点击新增按钮
“构建后操作”标签 1.点击“增加构建后操作步骤”,选择“Pulish HTMLreports”,点击新增”按钮。 2.在“HTML directory to archive”中写入报告生成的位置 如: report(与项目目录一致,没有的话不需要写) 3.Index page[s]后的值,与run_suite.py中代码,生成的测试报告名称保持一致。 如: ihrm.html
发送邮件
再次点击“增加构建后操作步骤”,选择“Editable Email Notification”设置邮件发送测试报告 1.在ProjectRecipientList”,SDEFAULTRECIPIENTS后用英文`,`隔分,添加邮箱地址 2.下面“Content-Type”的值,选择 HTML (text/html) 3.复制讲义中“邮件测试报告模板”代码到“Default Content ”中 说明: 模板中的HTML 20Report为目录,查看日志能获取,根据需要修改
<!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>
点击右下角“Advanced Settings”按钮。
将“Trigger”原有的内容点最外层“红叉”删除 点击“Add Trigger”选择 Always
点击“应用”“保存”
点击“Build Now”开始手动构建
重新构建项目
8. 解决HTML报告样式无法显示问题
原因
Jenkins为了避免受到恶意HTML/JS文件的攻击,会默认将安全策略CSP设置为: sandbox; default-src 'none'; img-src 'self'; style-src 'self'; 在此配置下,只允许加载: - Jenkins服务器上托管的CSS文件 - Jenkins服务器上托管的图片文件 其他形式的内容都会被禁止:JavaScript、plugins (object/embed)、HTML中的内联样式表和引用的外站CSS文件、 HTML中的内联图片和外站引用的图片文件等等
解决HTML报告样式无法显示问题-解决方案
通过修改启动命令来实现:D:\jenkins>java -Dhudson.model.DirectoryBrowserSupport.CSP= -jar jenkins.war
9. webhook
TODO
10. linux 安装jenkins
1. 启动
/data/openJdk-17.0.12_7/bin/java -Dhudson.model.DirectoryBrowserSupport.CSP= -jar /www/wwwroot/javaProjects/jenkins/jenkins-2.462.1.war --httpPort=18080
2. .jenkins目录
- 用户home目录/.jenkins
- /home/www/.jenkins
3. 密码错误问题
- 下次再登录/重启服务一直提示密码错误
# .jenkins目录下config.xml文件,先备份,然后删除文件中的以下代码,并保存文件
<useSecurity>true</useSecurity>
<authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
<denyAnonymousReadAccess>true</denyAnonymousReadAccess>
</authorizationStrategy>
<securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
<disableSignup>true</disableSignup>
<enableCaptcha>false</enableCaptcha>
</securityRealm>
重启Jenkins服务
进入首页>“系统管理”>“全局安全配置”
- 重新点击首页-系统管理-管理用户
- 点击进入展示“用户列表”
- 点击 admin-设置
- 修改密码并保存
- 然后重新登录就成功了