当前位置: 首页 > article >正文

持续集成-笔记

目录

  • 持续集成
  • Gitee介绍与安装
    • git简介与安装
    • gitee
    • git和gitee的工作原理
  • pycharm集成Gitee
    • pycharm安装gitee插件
    • pycharm使用Gitee插件
  • Jenkins
    • jenkins介绍与安装
    • postman集成Jenkins
    • 代码集成jenkins

持续集成

概念:团队成员将自己的工作成果,持续集成到一个公共平台的过程,成员可以每天集成一次,也可以一天集成多次。
相关工具:本地代码管理工具:git;远程代码管理:gitee(国内)、github(国外)、gitlib(公司私有服务器)
持续集成:Jenkins

软件发布流程
在这里插入图片描述

Gitee介绍与安装

git简介与安装

简介
git是一款本地管理代码的工具,自带一个小型仓库,存储本地代码。

安装
下载安装包,下载地址:https://git-scm.com/downloads
双击exe文件,一路next自动安装即可。(安装完成后控制台git --version可查看版本)

配置
安装完成后,必须给git配置用户名和邮箱。注意,用引号包裹

git config --global user.email"邮箱"
git config --global user.name."用户名"

gitee

1.注册网易邮箱
2.注册Gitee账号
3.新建仓库

git和gitee的工作原理

add:把写好的代码先添加到缓存当中
commit:把自己的代码放到小仓库里面去
在这里插入图片描述

pycharm集成Gitee

pycharm安装gitee插件

在这里插入图片描述

pycharm使用Gitee插件

1.将gitee仓库check out(检出)到PyCharm中(使用场景:第一次加入项目,获取代码)
1.1打开gitee中新建的仓库,点击“克隆/下载”按钮,复制仓库URL地址
1.2在pycharm中,点击菜单中的VCS选项。选中“Get from Version Control…”(从版本控制中获取…)(已经被git管理的项目,没有VCS选项)
1.3将gitee中复制的URL地址,粘贴到URL中。点击Clone按钮
在这里插入图片描述
1.4在新窗口打开
1.5项目栏可以看到gitee中创建仓库时,自动生成的Reame文件,说明成功
2.推送pycharm新项目到Gitee远程仓库
1.pycharm下准备任意一个未被git管理的项目,将其推送到GItee保存
2.点击VCS,选择“share project on gitee”
3.在弹出页面,授予pycharm权限,登录gitee
4.如果没有弹窗输入gitee用户名、密码页面,点击“add account”,选择“log in with password”,登录
在这里插入图片描述
5.弹窗中,确认仓库名称(项目名称)要求项目名满足标识符命名规范,且不与gitee中已有仓库重名
6.确认文件无误,点击share
7.弹窗,确认项目中的内容都被勾选,点击add
3.将pycharm代码push到Gitee远程仓库(本地和gitee有相同项目,本地代码做了新增,需要将新增代码推送到gitee)
1.确保已git管理
2.有新增
3.先add添加(git中的add)
4.再提交,commit(git中的commit)
5.弹窗确认提交的文件被选中,添加提交描述,点击按钮提交
6.点击git中的push,推送到远程gitee仓库
7.弹窗,确认提交文件无误,提交描述无误,点击push推送按钮
4.将gitee仓库的新代码pull到pycharm(场景gitee上代码做了新增)
项目,git中选中pull即可
5.解决冲突(场景:多人本地对同一处代码做了不同修改)
1.操作push时提交代码到gitee遇到,发生这种情况,pycharm会弹窗如下图(Merge合并)
在这里插入图片描述
在这里插入图片描述

特殊情况
在这里插入图片描述

Jenkins

jenkins介绍与安装

jenkins是基于java开发的一种源、跨平台的持续集成工具(必须安装jdk)
安装
1.安装JDK
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133
151.html
配置环境变量
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_151
在Path中添加:%JAVA_HOME%\bin;
校验:打开命令行窗口,输入java -version,校验命令能否正常执行以及版本信息是否一致
2.安装Jenkins
1. 下载最新的版本war包,官网:https://jenkins.io/

启动
在jenkins.war文件所在目录地址栏输入cmd打开终端
输入命令java -jar jenkins,war启动服务
启动成功后,终端窗口不能关闭,最小化
在浏览器地址栏输入localhost:8080
插件安装
jenkins左侧菜单栏-“Manage jenkins”-选择“manage plugins”-“可选插件”-插件名称
系统配置
1.选择’Jenkins’->‘系统管理’->‘系统设置’(Manage Jenkins —> Configure System)
2.Jenkins Location:
系统管理员邮件地址: —— 自己申请的邮箱。 (黄色警告,不理)
3.Extended E-mail Notification:(第一个“高级”)
SMTP Username: —— 自己申请的邮箱
SMTP Password: —— POP3/SMTP 服务授权码。
4.邮件通知:(勾选“使用SMTP认证”)
用户名:—— 自己申请的邮箱
密码: —— POP3/SMTP 服务授权码。
5.点击 “应用” —> “保存

postman集成Jenkins

准备工作
1.打开已经完成并测试无误的postman项目脚本,并再次测试
2.导出(测试用例集、环境变量两个文件),文件名不能有中文
3.文件所在目录地址栏输入cmd打开终端,(使用绝对路径)
4.执行(newman run 测试用例集绝对路径 -e 环境变量文件绝对路径 -d 数据文件绝对路径 -r htmlextra --reporter-htmlextra-export report.html)无误,查看生成的测试报告
手动构建
1.打开 Jenkins 首页,点击 “新建Item” 创建一个 新任务
2. 输入任务名,如:bjtestAPITestIHRMPostman。选择 “Freestyle project”,点 “确定” 。跳至 “配置”页面。
3. 回主页,可看到 ,多出任务 bjtestAPITestIHRMPostman。 点 任务名称,“配置” 可以继续刚才的配置。
4. 跳至 “构建” 标签。(General 、源码管理、构建触发器、构建环境 四个标签先跳过)
点击 “增加构建步骤”,选择 “Execute Windows batch command” 选项(macOS选择 “Execute shell”)
将 cmd 终端 测试无误的 命令, 粘入“命令” 编辑框中(如有红色浪线警告,忽略)。
5. “构建后操作” 标签。
点击 “增加构建后操作步骤”,选择 “Pulish HTML reports”,点击 “新增” 按钮。
将 Index page[s] 后的值改为:“report.html” 。名称 应与上面 命令中 生成的 测试报告名称 一致。(说明:因为生成报告时,没有指定目录。 所以:上面 “HTML directory to archive” 是空的。如果,指定报告生成到其他位置。 要配置 “HTML directory to archive”的值。)
Report title 是生成的报告 标题,可修改为 “Report666” 试试看。
6. 点击 “应用” --> “保存”。
7. 在 自动跳至 页面中,点击 “Build Now”,可在下面 Build History(构建历史)中, 看 到 构 建 正 在 进 行。
点 #1 后面的名称 , 点击 “控制台输出” 查看 执行的命令。
再次点 “Build Now”,可以 再构建一次 #2。 以此类推。
8. 完成后,左侧菜单中 多出 “Report666” 菜单栏。点击可查看 测试报告。可能会样式错乱。后续解决。(特别说明:如有 红色 “失败” 提示,检验是否 测试用例 断言没有通过!用例断言失败, Jenkins 自动判定为 失败!)
自动构建
简单来说:自动构建,就是设置一个定时器,定时时间到, Jenkins 自动执行测试用例。
操作步骤:
1.Jenkins 首页,点击任务名:如: bjtestAPITestIHRMPostman。跳至 “配置” 页面。
9. “构建触发器” 标签。 选择 “Build periodically(定期地)”
10. “日程表” 中写入:* * * * *(空格隔分) —> 分别对应 “分 时 日 月 年”
修改:10 16 * * * 就是 每天的 16 点 10 分 执行。
11. 点击 “应用” --> “保存”。 等待 。。。自动构建 —— 成功!
报告样式错乱
原因:
Jenkins为了避免受到恶意攻击,设置了CSP安全策略。只允许加载 Jenkins服务器上托管的 CSS文件 和
图片文件。
我们的用例、代码都是放在自己的服务器上,被恶意攻击的可能性极低。
解决报告样式错乱:
1.在启动时,添加参数 :
java -Dhudson.model.DirectoryBrowserSupport.CSP= -jar Jenkins.war
2. 如果,已生成的报告,样式依然错乱, 重新 “Build Now” 生成新的报告即可。

代码集成jenkins

准备工作
将运行无误,能生成报告的 iHRM项目代码 上传至 Gitee中。
在这里插入图片描述
手动构建
1.打开 Jenkins 首页, 点击 “新建Item” 创建一个新任务。
2. 输入任务名,如: bjtestAPITestIHRMCode。选择 “Freestyle project”,点 “确定”,跳至 “配置” 页面。
3. “源码管理” 标签。 选择 “Git”。 在 Repository URL 后写入 项目代码在 Gitee的 URL。
4. “构建” 标签。
1. 点击 “增加构建步骤”, 选择 “Execute Windows batch command” 选项(macOS选择 “Execute shell”

2. 输入命令 python run_suite.py ( 与在 pycharm 的 Terminal 中执行,相同含义)
5. “构建后操作” 标签
1. 点击 “增加构建后操作步骤”,选择 “Pulish HTML reports”,点击 “新增” 按钮。
2. 在 “HTML directory to archive” 中 写入 报告生成的位置。 如:./report (与项目目录一致)
3. Index page[s] 后的值,与 run_suite.py 中代码,生成的测试报告名称保持一致。如:ihrm.html。
6. 再次点击 “增加构建后操作步骤”, 选择 “Editable Email Notification” 设置 邮件发送测试报告。
1. 在 “Project Recipient List” ,$DEFAULT_RECIPIENTS 后使用 英文 “,” 隔分,添加邮箱地址。
2. 下面 “Content-Type” 的值,选择 HTML(text/html)
3. 复制下面“邮件测试报告模板” 代码到 “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">
<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” 开始手动构建。
    自动构建
    1.点击 “配置” 查看,在 “构建触发器” 标签。 选择 “Build periodically(定期地)” 添加 定时构建!
    2.“日程表” 中写入:* * * * (空格隔分) —> 分别对应 “分 时 日 月 年”
    修改:10 16 * * * 就是 每天的 16 点 10 分 执行。
    3.也可以在 “构建触发器” 标签 中选择 “Poll SCM”。 写入 :
    /1 * * * * (空格隔分)
    代表1分钟 检查一次 gitee 上的代码,查验是否有更新。
    4.PyCharm 修改代码 Commit、Push,或者 直接在 Gitee修改,导致 Gitee上的代码有 变动。会触发Jenkins会自动构建。

http://www.kler.cn/a/540788.html

相关文章:

  • elasticsearch安装插件analysis-ik分词器(深度研究docker内elasticsearch安装插件的位置)
  • Linux --- 如何安装Docker命令并且使用docker安装Mysql【一篇内容直接解决】
  • 推荐一个免费的、开源的大数据工程学习教程
  • 棱光PDF工具箱:一站式解决你的各种需要
  • ASP.NET Core JWT Version
  • 【kafka系列】Topic 与 Partition
  • DeepSeek之于心理学的一点思考
  • Java中有100万个对象,用list map泛型存储和用list对象泛型存储,那个占用空间大,为什么...
  • python两段多线程的例子
  • 网络安全架构分层 网络安全组织架构
  • 什么是蒸馏大型语言模型
  • WiFi配网流程—SmartConfig 配网流程
  • 基于uniapp vue3 的滑动抢单组件
  • Markdown+Vscode+Mindmaster打造读书笔记
  • C# Mutex 锁 使用详解
  • 爬虫案例-爬取某度文档利用飞桨ch_pp-ocrv3模型提高对图片的识别
  • [小白入门]PostgreSQL too many clients already
  • 轻松掌握:滤波器截止频率计算
  • 蓝桥杯C语言组:博弈问题
  • PL/SQL语言的云计算
  • C# COM 组件在.NET 平台上的编程介绍
  • qml ToolBar详解
  • 工业相机在工业生产制造过程中的视觉检测技术应用
  • 力扣hot100刷题第一天
  • 高级加密标准AES候选算法之一Crypton
  • ubuntu安装VMware报错/dev/vmmon加载失败