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

[持续集成]

学习目标

  • 能够使用 Git 代码托管平台管理代码
  • 能够实现 jenkins+postman 的持续集成
  • 能够实现 jenkins+代码 的持续集成

持续集成

  • 概念 : 将自己工作成果持续不断地把代码聚集在一起,成员可以每天集成一次或多次
  • 相关工具 :
    • git : 代码管理工具,自带本地仓库
    • gitee : 远程代码管理仓库,云端仓库,github是国外远程代码管理仓库,gitlab是企业私有服务器
    • jenkins : 实现持续集成,管理当前测试脚本,生成测试报告,发送邮件

Gitee

默认安装结束后,使用git --version查验
在这里插入图片描述

git config --global user.email  "自己邮箱@xxx.com"	//这里建议网易云邮箱
git config --global user.name  "用户名(可任意写,不允许中文)"
  • 简介 :
    • Git分布式版本控制系统,实现版本控制+多人协同
      在这里插入图片描述
    • 推送 :
      • add : 添加
      • commit : 提交
      • push : 推送
    • 拉取 :
      • pull
pycharm配置Gitee插件

在这里插入图片描述

pycharm与Gitee相关操作
将Gitee的项目checkout到Pycharm中
  • 应用场景 : 第一次从gitee下载代码到pycharm,本地pycharm中无此代码
  • 操作步骤

在这里插入图片描述
在这里插入图片描述

  • 点击clone

在这里插入图片描述
在这里插入图片描述

推送Pycharm新项目到Gitee远程仓库

在这里插入图片描述
在这里插入图片描述

  • 输入账号密码后点击share
  • 点击add
    在这里插入图片描述
  • 功能列表中VCS消失,项目转变为git接管
将Pycharm代码push到Gitee远程仓库(上图小矩形)
  1. 新增文件,自动弹窗,右键Demi–>Git–>Add在这里插入图片描述
  2. 点击Git–>Commit提交(此时commit提交到了本地仓库)
    1
  3. 确认被提交的文件选中
    步骤3
    选中文件
    在这里插入图片描述
    点击push后,进入gitee查看
    在这里插入图片描述
将Gitee仓库的新代码pull到Pycharm中
  • 新建一个文件
    在这里插入图片描述
  • 写入名称,内容点击提交
    在这里插入图片描述
  • 在pycharm中,右键git–>pull
    在这里插入图片描述
    在这里插入图片描述
  • 注:pull时会自动对比差距,导入新建的内容
冲突解决
  • 应用场景 : pycharm本地项目,已经被gitee管理,gitee上与本地对同一个文件,做了不同的修改,当本身push时,就会产生冲突!
  • 具体操作步骤
    • 在gitee的文件中做更改
    • 在pycharm中同名文件做更改,commit提交到本地仓库,再点击push
    • 提示,点击merge合并处理

在这里插入图片描述
在这里插入图片描述

  • 点击箭头会加入(左侧本地,中间合并结果,右侧gitee代码)
    在这里插入图片描述
  • 合并后push依旧提示拒绝推进
    在这里插入图片描述
    • 解决办法:将gitee中的版本2pull下来,再push就可以成功推送到gitee

小结: 使用git的习惯,先pull再push

Jenkins

  • 简介 : 基于java开发(需要jdk)的一种开源,跨平台(win,linux,macos)的持续集成工具
  • 安装java 8并配置环境变量
    • 配hi环境变量的目的 : 能在任意一个目录下,使用java命令
系统设置
  1. Manage Jenkins --> Configure System
  2. Jenkins Location:
    • 系统管理员邮箱地址 --> 自己申请的邮箱
  3. Extend E-mail Notification:(点击高级)
    • SMTP Username : —> 自己申请的邮箱
    • SMTP Password : —> POP3/SMTP服务授权码
  4. 邮件通知 : (勾选SMTP认证)
    • 用户名 : —> 自己申请的邮箱
    • 密码 : —> POP3/SMTP 服务授权码
  5. 点击应用 —> 保存
持续集成postman
  • 准备工作
    • postman中运行一遍用例集,没有问题后导出
    • 注意导出用例集和环境,名称中没有中文
    • 获取文件地址:摁住shift键右键—>选中文件—>复制文件地址,得到文件绝对路径
    • 执行命令生成测试报告

在这里插入图片描述

# 报告代码
newman run 测试用例集名.json -e 环境变量.json -d 数据文件.json -r html --reporter-html-export 测试报告名.html
# 本人电脑无法使用htmlextra故省略不写了
手动构建----Jenkins管理
  1. 选择新建
    在这里插入图片描述
  2. 点击构建–> 添加构建步骤–>执行windows批处理命令
    在这里插入图片描述
    在这里插入图片描述
  3. 选择同页面publish-build-actions中的publish html reports,点击新增
  4. 写入输出测试报告的目录,index中是生成的报告名,与前文名字一致
  5. 点击apply—>save即可
  6. 回到初始页面,点击build now立即构建,点击时间点会跳转页面,方便调试
    在这里插入图片描述
  7. 进入页面点击console-output,查看命令执行结果(我这里有问题)
    在这里插入图片描述
自动构建----使用jenkins

在这里插入图片描述
在这里插入图片描述

  • 报告可能样式错乱,更正参数得到格式正确报告
java -Dhudson.model.DirectoryBrowserSupport.CSP= -jar Jenkins.war
持续集成-代码
  • 准备工作
    • 将代码上传到Gitee中
    • 将仓库设置为开源
手动构建----使用jenkins管理
  1. 新建任务—>进入任务的configure界面
  2. Source Code Management设置为Git(项目设置为开源)
  3. 在Git选项弹出框中,填入仓库url地址
  4. 下滑选择构建环境–>构建–>增加构建步骤–>选择execute windows选项,命令填入pytest
  5. 构建后的操作选择publish HTML reports–>点击新增(填入与pytest.ini中代码保持一致)
    在这里插入图片描述
  6. 设置发邮件,点击"增加构建后操作步骤",选择Editable Email Notification设置 邮件发送测试报告
    • 在Project Recipient List,$DEFAULT_RECIPIENT,写入新邮箱,与原有内容使用英文逗号分开
    • Content Type选择HTML选项
    • Default Content填入邮件测试报告模板
      在这里插入图片描述
  7. 点击高级设置—>Triggers–>整个框点×,点击Add Triggers—>Always,点击应用保存即可.
    在这里插入图片描述
  8. 点击build now生成测试报告,点击时间进入查看测试是否结束
自动构建----使用jenkins管理
  1. 点击 “配置” 查看,在 “构建触发器” 中选择 "Build periodically(定期的) "添加定时构建
  2. “日程表” 中写入: * * * * * (空格隔分) —> 对应分 时 日月年
    • 如 10 16 * * * 就是每天16点10分执行
  3. “构建触发器” 标签中选择 “Poll SCM”,写入*/1 * * * *(空格分隔)
    • 代表每一分钟检查一次gitee上的代码,查验是否有更新
  4. Pycharm修改代码Commit ,Push或者直接在gitee上修改,导致Gitee上的代码有变动,触发Jenkins自动构建.
    在这里插入图片描述
    有些遗漏,复习的时候再来补充吧

相关文章:

  • 【案例】性能优化在持续集成与持续交付中的应用
  • element-ui使用el-button去掉focus,删除el-button的focus效果
  • 魔音音乐 5.0.2 | 无损下载 同步网易云歌单UI美观
  • 数据分析对比图表-雷达图全面指南
  • 纯视觉SOTA!华科小米推出ReCogDrive:结合VLM和强化学习的端到端自动驾驶框架
  • 数据库中间件ShardingSphere5
  • 高性能群集部署技术-Nginx+Tomcat负载均衡群集
  • Zephyr 开发进阶:设备树 DTS、板卡 BSP 与驱动模型全解析
  • C++11 GC Interface:从入门到精通
  • window显示驱动开发—使用状态刷新回调函数
  • C# WPF程序界面美化方法与详细步骤
  • wpf DataTemplate 宽度和控件宽度一样
  • 在小程序中实现上下左右拖动表格
  • git更改远端文件名称以及删除指定文件夹
  • Efficient Non-Local Transformer Block: 图像处理中的高效非局部注意力机制
  • 在VTK中捕捉体绘制图像并实时图像处理
  • 【Redis】解码Redis字符串:命令执行与内存优化背后的编码逻辑
  • HTTP Server
  • SM3算法C语言实现(无第三方库,带测试)
  • Openlayers面试题198道
  • ps做网站标签/网络营销企业案例
  • ...无锡网站制作/seo网站内容优化有哪些
  • 济南专业网站推广服务热线/香港百度广告
  • 网站建设从零开始视频教程/在百度怎么发广告做宣传
  • 济宁做网站比较好的公司有哪些/网络培训seo
  • 京伦科技做的网站如何/seo教程排名第一