文章目录
总目录
持续集成介绍
概念
- 持续集成(Continuous Integration,简称CI)是一种软件开发实践,即团队开发成员经常集成他们的工作, 通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。
- 持续集成的目的:让产品可以快速迭代,同时还能保持高质量。
好处
- 快速发现错误
每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易 - 防止分支大幅偏离主干
如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成 - 更快速的发布更新
持续集成可以帮助团队更快速、更积极的发布程序和更新程序。在发布时可自动完成大量重复的工作、节省人力
持续集成工具
- Jenkins:一个开源的持续集成工具,提供软件版本发布、自动测试等一系列流程及丰富的插件
- SVN/Git:源代码版本管理工具
- GitHub/GitLab/Gitee:基于Git的代码仓库
- …
Git和Git代码托管平台
1 Git
- 安装:https://git-scm.com/downloads
- 配置
git config --global user.email "email@example.com"
git config --global user.name "Your Name"
2 Git代码托管平台
- Github
- 是一个基于git实现在线代码托管的仓库,向互联网开放,企业版要收钱
- 国外的,受网络环境影响较大
- 官网:https://github.com/
- Gitee
- 即码云,是开源中国免费提供(企业版收费)
- 国内的,受网络环境影响较小
- 官网:https://gitee.com/
- Gitlab
- 类似Github,一般用于企业内部搭建git私服。
3 使用Gitee
3.1 在Gitee创建项目
- 注册账号,网址:https://gitee.com/
- 点击按钮创建一个仓库
- 输入仓库名称,点击‘Create repository’按钮
- 进入仓库详情页面,点击‘克隆/下载’,再选择‘复制’即可得到项目地址
3.2 在PyCharm中检出Gitee中的项目
- 打开PyCharm
- 配置Git。选择菜单‘File’–>‘Settings…’,搜索git
- 选择菜单‘VCS’–>‘Get from Version Control…’
- 输入项目的URL,点击Clone按钮
3.3 在PyCharm中编辑项目文件
- 把文件提交到服务器(新建的文件和编辑的文件)
- 从服务器中拉取文件
- 对比文件的区别,解决冲突
Jenkins
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作, 旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
2. Jenkins环境搭建
2.1 安装JDK
-
版本:JDK1.8
-
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
-
配置环境变量
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_151
- 在Path中添加:%JAVA_HOME%\bin;
-
校验:打开命令行窗口,输入
java -version
,校验命令能否正常执行以及版本信息是否一致
2.2 安装Jenkins
- 下载最新的版本war包,官网:https://jenkins.io/
- 进入war包所在目录,命运行运行
java -jar jenkins.war 默认端口是8080
java –jar jenkins.war --httpPort=8888 可以用httpPort来指定端口
- 在浏览器中访问http://localhost:8080/
- 进入启动页后,这里需要一个密码进行验证,密码所在的位置会在页面上标有,直接打开这个文件就可以看到密码
- 密码输入后,点击继续。此时会提示是否安装插件,我们选择第一个,安装建议的插件
- 等待插件安装完成
- 安装完成后,会提示设置用户名和密码,进行后期登录使用
- 配置完成后,提示准备就绪
- 点击按钮,即可进入首页
3. 安装HTML Publisher插件
-
进入首页,选择’Jenkins’后面的小图标->‘系统管理’->‘管理插件’
-
输入搜索关键字,选择要安装的插件,点击‘Install without restart’安装
-
查看安装进度
4. 系统设置
- 选择’Jenkins’->‘系统管理’->‘系统设置’
- 配置’系统管理员邮件地址’
- 配置’Extended E-mail Notification’
- 配置’邮件通知’
5. 解决控制台乱码问题
如果在控制台中输出中文字符时出现乱码,则可通过以下操作来设置字符编码:
-
打开系统管理->系统设置,在’全局属性’添加’环境变量’。LANG=zh_CN.UTF-8和JAVA_TOOL_OPTIONS=-
Dfile.encoding=UTF8 -
启动jenkins服务的命令中指定编码
java -Dfile.encoding=UTF-8 -jar jenkins.war
6. 解决HTML报告样式无法显示问题
在部署Jenkins持续集成的过程中经常会用到HTML Publisher插件来显示测试报告。 为了测试报告样式的美观以及易读,测试报告中经常会搭配CSS和JS实现自定义的样式或动画效果。
-
问题
Jenkins中在访问有自定义样式或动画效果的测试报告时,会出现样式无法正常显示的问题。 -
原因
Jenkins为了避免受到恶意HTML/JS文件的攻击,会默认将安全策略CSP设置为:sandbox; default-src 'none'; img-src 'self'; style-src 'self';
在此配置下,只允许加载:
1. Jenkins服务器上托管的CSS文件
2. Jenkins服务器上托管的图片文件
被禁止:
JavaScript、plugins (object/embed)、HTML中的内联样式表和引用的外站CSS文件、HTML中的内联图片和外站引用的图片文件等等 -
解决方案
解决方案有很多种,使用任何一种方式即可。下面通过修改启动命令来实现:D:\jenkins>java -Dhudson.model.DirectoryBrowserSupport.CSP= -jar jenkins.war
7. 邮件测试报告模板
<!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>
持续集成之Postman
1. 创建任务
-
点击’New 任务’菜单
-
输入任务名称,选择’构建一个自由风格的软件项目’,点击’确定’
-
任务列表,点击任务名称,进入任务操作页面
-
点击’Configure’菜单,进入任务配置页面
-
添加构建,选择’执行 Windows 批处理命令’,输入执行脚本: newman run
D:\postman\ihrm\ihrm.postman_collection.json -e D:\postman\ihrm\test.postman_environment.json -r html --reporterhtml-export report.html
-
添加构建后操作,点击
‘Add post-build action’
按钮,选择‘Publish HTML reports’
,点击‘Add’
按钮,输入配置信息 -
添加构建后操作步骤,选择
'Editable Email Notification'
,然后配置相关信息 -
点击
‘Apply’
和‘Save’
按钮
2. 构建
- 进入项目操作页面,点击’立即构建’菜单
- 构建进度条,点击查看构建进度
- 查看控制台输出
- 查看测试报告
- HTML测试报告
持续集成之代码
1. 创建任务
- 点击’New 任务’菜单
- 输入任务名称,选择
'构建一个自由风格的软件项目'
,点击'确定'
- 任务列表,点击任务名称,进入任务操作页面
- 点击
'Configure'
菜单,进入任务配置页面 - 源码管理
- 构建触发器
- 添加构建,选择
'执行 Windows 批处理命令'
,输入执行脚本 - 添加构建后操作,点击
‘Add post-build action’
按钮,选择‘Publish HTML reports’
,点击‘Add’
按钮,输入配置信息 - 添加构建后操作步骤,选择
'Editable Email Notification'
,然后配置相关信息 - 点击
‘Apply’
和‘Save’
按钮
2. 构建
- 进入项目操作页面,点击’立即构建’菜单
- 构建进度条,点击查看构建进度
- 查看控制台输出
- 查看测试报告
- HTML测试报告