【学习笔记】jenkins持续集成入门

news2024/12/23 16:00:56

jenkins持续集成入门

文章目录

      • 学习源
  • 一、jenkins简介和安装
    • 安装:
    • 插件:
      • 安装插件:
  • 二、配置Jenkins系统邮箱
  • 三、使用jenkins实现持续集成
    • (一)使用Jenkins实现简单的本地Python项目代码执行
      • 准备工作:
      • 使用Jenkins管理-手动构建
        • 5. 生成html报告
          • a. 生成普通的html报告:项目中使用HTMLTestReport
          • b.生成allure报告:项目中使用allure
        • 6. 邮件发送测试报告
    • (二)将项目代码上传到gitee后使用使用jenkins实现持续集成
      • 准备工作
      • 使用Jenkins管理-手动构建
    • (三)持续集成-Postman
      • 准备工作
      • 使用Jenkins管理-手动构建
    • 使用Jenkins管理-自动构建
    • 拓展:jenkins实现环境自动升级

学习源

https://www.bilibili.com/video/BV1z14y1475Z

一、jenkins简介和安装

是一个可扩展的持续集成和持续部署的平台。功能基本都是来源于插件
作用:
1.持续的监控版本的发布,同时把发布的版本持续部罢到测试或者生成环境
2.监控一些定时任务
左移和右移
自动化和测试开发

安装:

Jenkins安装链接:https://www.jenkins.io/download/

jdk必须是1.8以上。jenkins是LTS版本。必要插件。(jdk安装链接:https://www.oracle.com/java/technologies/downloads/)

创建⼀个层级不深的⽬录,将 jenkins.war ⽂件放⼊(⽬的是为了将来启动⽅便)如:

在这里插入图片描述

启动方式:

地址栏,将⽬录内容选中,输⼊cmd 打开 命令⾏终端。写命令 java -jar jenkins.war 启动 jenkins

在这里插入图片描述

在这里插入图片描述

打开浏览器, 输⼊ localhost:8080 访问 jenkins。
在这里插入图片描述

编辑开启jenkins的文件:startjenkins.bat

@echo off
cd %Jenkins_Home%
java -jar jenkins.war
pause

双击startjenkins.bat即可启动

  1. 输⼊⽤户名:“admin” 密码:“123456”。登⼊,看到欢迎⻚⾯。

  2. 如果⻓时间访问不到,关闭启动 jenkins 的终端。尝试更换端⼝重新启动jenkins服务。如: java -jar jenkins.war --httpPort=8889。然后浏览器,使⽤ localhost:8889 访问。

启动小结:

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

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

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

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

插件:

Groovy 解决自动化测试报告样式丢失的问题。
Email Extesion plugin 集成电子邮件
Zentimestamp 集成时间和日期
Robotframework
HTML publisher html报告

Allure jenkins pluginallure报告插件

安装插件:

Jenkins左侧菜单栏 —> “Manage Jenkins” —> 选择 “Manage Plugins” —> “可选插件” —> 插件名称

在这里插入图片描述

二、配置Jenkins系统邮箱

说明:要使⽤之前申请的 163邮箱 来完成配置。 配置成功后,可以借助 Jenkins 在满⾜某些条件的时候,⾃
动发送邮件(给开发、测试⼈员、领导 等)。

配置小结:

  1. Manage Jenkins —> Configure System

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

  3. Extended E-mail Notification:(第一个“高级”)
    注意:不要随意更新为最新版,可能出现不兼容的问题。
    操作细节见《 Jenkins安装及配置.pdf》中 “配置Jenkins系统邮箱” 小节。
    SMTP Username: —— 自己申请的邮箱
    SMTP Password: —— POP3/SMTP 服务授权码。

  4. 邮件通知:(勾选“使用SMTP认证”)
    用户名:—— 自己申请的邮箱
    密码: —— POP3/SMTP 服务授权码。

  5. 点击 “应用” —> “保存

  6. 获取 POP3/SMTP 授权码

  7. 登录 163邮箱,点击 “设置” ——> “POP3/SMTP/IMAP”
    在这里插入图片描述

  8. 点击 “POP3/SMTP服务” 后⾯的 “开启” , 会弹出⻚⾯,是个⼴告,不理它。 点 “继续开启”

在这里插入图片描述

  1. 扫码 或者 ⼿动,按要求发送短信给 ⽹易进⾏验证。确认短信发送成功。点击 “我已发送”

在这里插入图片描述

  1. 会 弹出对话框,显示 开始 POP3/SMTP 服务 相应的授权码。务必保存此授权码!,然后点确定。

在这里插入图片描述

  1. 确认开启成功。后期如果授权码忘记了, 可以点 “新增授权密码” 重新申请。
    在这里插入图片描述

  2. 完成3处配置。

  3. 启动 Jenkins 服务器,浏览器输⼊ localhost:8080 登录到 Jenkins ⼯作台中。

  4. 打开 Jenkins 下拉菜单,Manage Jenkins --> Configure System 进⼊系统配置⻚⾯

在这里插入图片描述

加载成功看到如下⻚⾯。
在这里插入图片描述

  1. 第⼀处配置。下拉滚动条,找到 “Jenkins Location” 标题。修改 “系统管理员邮件地址” 为你⾃⼰的163邮箱

在这里插入图片描述

  1. 第⼆处配置。继续 下拉滚动条,找到 “Extended E-mail Notification” 标题。点击 “⾼级”。在展开的⻚⾯中,

“User Name” 后填⼊邮箱。“Password” 后填⼊授权码!(注意不是密码)

强调: “User Name” 和 “Password” 必 须 点 “⾼级” 按钮,才能看到!否则看不到。

在这里插入图片描述

在这里插入图片描述

  1. 第三处配置。滚动条拉到底部。找到 ”邮件通知“标题,同样点击⾼级。

在这里插入图片描述

展开的⻚⾯中,“⽤户名” 后填⼊邮箱。“密码” 后填⼊授权码!(注意依然不是密码)
在这里插入图片描述

可填的默认配置:

Default Recipients中选择“HTML(text/html)”:设置邮件内容是html
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 修改完成!点击保存!

三、使用jenkins实现持续集成

(一)使用Jenkins实现简单的本地Python项目代码执行

准备工作:

能生成报告的 项目代码

使用Jenkins管理-手动构建

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

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

3.在General中勾选“使用自定义的工作空间”,输入项目路径

在这里插入图片描述

4.在构建环境中Build Steps选择“Execute Windows batch command”,输入 pycharm虚拟环境的pythin.exe+运行文件
在这里插入图片描述

5、保存后,点击“Build Now”即可以运行

在这里插入图片描述

5. 生成html报告

a. 生成普通的html报告:项目中使用HTMLTestReport

1)点击 “增加构建后操作步骤”,选择 “Pulish HTML reports”,点击 “新增” 按钮。
在这里插入图片描述

2)在 “HTML directory to archive” 中 写入 报告生成的位置。 如:./report (与项目目录一致)
在这里插入图片描述

3)Index page[s] 后的值,与生成的测试报告名称保持一致。如:ihrm.html。

b.生成allure报告:项目中使用allure

1)安装插件Allure jenkins pluginallure
在这里插入图片描述

2)点击全局工具配置“Global Tool Configuration”,配置“Allure Commandline”

点击“新增Allure Commandline”,取消勾选默认安装allure报告的配置“install automatically”,为了实现定制allure报告

在安装目录中输入allure安装路径
在这里插入图片描述
在这里插入图片描述

3)配置任务api _auto , 点击 “增加构建后操作步骤”,选择 “Allure Report”,点击 “新增” 按钮。
在这里插入图片描述

4)在 “Results”的“Path ”中 写入 结果生成的位置。 如:./temp (与项目目录一致)

在“Report Path ”中写入 报告生成的位置。 如:./report (与项目目录一致)

在这里插入图片描述

在这里插入图片描述

点击保存,运行后就可以看到报告了

在这里插入图片描述

6. 邮件发送测试报告

安装插件Email Extension Plugin

在这里插入图片描述

1)点击 “增加构建后操作步骤”, 选择 “Editable Email Notifification” 设置 邮件发送测试报告。

在这里插入图片描述

2) 在 “Project Recipient List” ,$DEFAULT_RECIPIENTS 后使用 英文 “,” 隔分,添加邮箱地址。

在这里插入图片描述

3)下面 “Content-Type” 的值,选择 HTML(text/html)

4) 输入以下代码到 “Default Content ” 中

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>$PROJECT_NAME - Build # $BUILD_NUMBER </title>
</head>

<body leftmargin ="8" maginwidth="0" topmargin="8" marginheight="4"
    offset="0">
    <div>
    <table width="100%" cellpadding="0" cellspacing="0"
        style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
    <tr>
         <td>(本邮件是程序自动下发的,请勿回复!)</td>
     </tr>
  <tr>
            <td>
                <h2> <font color="#0000FF">构建结果 -${BUILD_STATUS}</font> </h2></td>
  </tr>
  <tr>
            <td>
                <br /><b><font color="#0B610B">构建信息</font></b>
                <hr size="2" width="100%" align="center" />
            </td>
</tr>
<tr>
            <td>
                <ul>
                    <!--li>详细测试报告 :<a href="${PROJECT_URL}ws/target/jmeter/html">${PROJECT_URL}target/jmeter/html</a></li-->
                    <li>项目名称 :系统检查</li>
                    <li>构建编号 :第${BUILD_NUMBER}次构建</li>
                    <li>触发原因 :${CAUSE}</li>
                    <li>构建日志 :<a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
                    <li>构建 Url :<a href="${BUILD_URL}">${BUILD_URL}</a></li>
                    <li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
                    <li>项目 Url :<a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
                    <li>历史变更记录 :<a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a></li>
                    <li>测试报告: <a href="${PROJECT_URL}${BUILD_NUMBER}/allure">${PROJECT_URL}${BUILD_NUMBER}/allure</a></li> 
                </ul>

<h4><font color="#0B610B">失败用例</font></h4>
<hr size="2" width="100%" /> $FAILED_TESTS<br/>
            </td>    
        </tr>  
            </td>
    </tr>
    <tr>
            <td>
                <br /> <b><font color="#0B610B">汇总报告如下:</font></b>
                <hr size="4" width="100%" align="center" />
            </td>
</tr>
   <tr>
            <td colspan="2" align="center">
              <div>${JELLY_SCRIPT}</div>
             </td>
     </tr>
      </table>
     </div>
   </body>
 </html>

5)点击右下角 “Advanced Settings” 按钮。将 “Trigger” 原有的内容 点 最外层 “红叉” 删除。(因为默认失败才会发送邮件)

点击 “Add Trigger” 选择 Always 。
在这里插入图片描述
在这里插入图片描述

点击 “应用” --> “保存”。

运行后,收到的邮件为:

在这里插入图片描述

(二)将项目代码上传到gitee后使用使用jenkins实现持续集成

准备工作

将 运行无误,能生成报告的 项目代码 上传至 Gitee中
在这里插入图片描述

使用Jenkins管理-手动构建

  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 中执行,相同含义)

  1. “构建后操作” 标签 、 6.邮件发送测试报告 同(一)中 5、6步骤

(三)持续集成-Postman

准备工作

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

  2. 导出(测试用例集、环境变量 两个文件)“不 支 持 中 文” —— 全部改成英文!

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

  4. 执行无误, 查看生成的测试报告文件

# extra版报告
newman run 测试用例集名.json -e 环境变量文件.json -d 数据文件.json -r htmlextra --reporterhtmlextra-export 报告名称.html
# 示例:
newman run "C:\Users\xwp\Desktop\postman_jenkins\iHRM.postman_collection.json" -e
"C:\Users\xwp\Desktop\postman_jenkins\iHRM_env.postman_environment.json" -r htmlextra --
reporter-htmlextra-export report.html
# 示例:
newman run "C:\Users\xwp\Desktop\ihrm\ihrm.postman_collection.json" -e
"C:\Users\xwp\Desktop\ihrm\postman_environment.json" -r htmlextra --reporter-htmlextra-export
report.html

使用Jenkins管理-手动构建

操作步骤:

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

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

  3. 回主页,可看到 ,多出任务 bjtestAPITestIHRMPostman。 点 任务名称,“配置” 可以继续刚才的配置。

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

1)点击 “增加构建步骤”,选择 “Execute Windows batch command” 选项(macOS选择 “Execute shell”)

2) 将 cmd 终端 测试无误的 命令, 粘入“命令” 编辑框中(如有红色浪线警告,忽略)。
在这里插入图片描述

  1. “构建后操作” 标签。

1)点击 “增加构建后操作步骤”,选择 “Pulish HTML reports”,点击 “新增” 按钮。

2)将 Index page[s] 后的值改为:“report.html” 。名称 应与上面 命令中 生成的 测试报告名称 一致。

说明:

因为生成报告时,没有指定目录。 所以:上面 “HTML directory to archive” 是空的。

如果,指定报告生成到其他位置。 要配置 “HTML directory to archive”的值。

3)Report title 是生成的报告 标题,可修改为 “Report 7777” 试试看。

在这里插入图片描述

  1. 点击 “应用” --> “保存”。

  2. 在 自动跳至 页面中,点击 “Build Now”,可在下面 Build History(构建历史)中, 看 到 构 建 正 在 进 行。

点 #1 后面的名称 , 点击 “控制台输出” 查看 执行的命令。2. 再次点 “Build Now”,可以 再构建一次 #2。 以此类推。

在这里插入图片描述

  1. 完成后,左侧菜单中 多出 “Report666” 菜单栏。点击可查看 测试报告。可能会样式错乱。

特别说明:如有 红色 “失败” 提示,检验是否 测试用例 断言没有通过!用例断言失败, Jenkins 自动判定为 失败!
在这里插入图片描述

在这里插入图片描述

  1. 报告样式错乱

原因:

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

图片文件。

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

解决 报告样式错乱:

  1. 在 启动时,添加参数 :
java -Dhudson.model.DirectoryBrowserSupport.CSP= -jar Jenkins.war
  1. 如果已生成的报告,样式依然错乱, 重新 “Build Now” 生成新的报告即可。

在这里插入图片描述

使用Jenkins管理-自动构建

  1. 点击 “配置” 查看,在 “构建触发器” 标签。 选择 “Build periodically(定期地)” 添加 定时构建!

  2. “日程表” 中写入:* * * * *(空格隔分) —> 分别对应 “分 时 日 月 年”

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

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

代表1分钟 检查一次 gitee 上的代码,查验是否有更新。

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

会自动构建。

在这里插入图片描述

在这里插入图片描述

拓展:jenkins实现环境自动升级

https://blog.csdn.net/Poppy_tester/article/details/105065696

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/115211.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PHP开发工具PhpStorm v2022.3——完全支持PHP 8.2

PhpStorm是一个轻量级且便捷的PHP IDE&#xff0c;其旨在提高用户效率&#xff0c;可深刻理解用户的编码&#xff0c;提供智能代码补全&#xff0c;快速导航以及即时错误检查。可随时帮助用户对其编码进行调整&#xff0c;运行单元测试或者提供可视化debug功能。 PhpStorm v20…

PM说丨浅谈PDCA与Scrum的“异曲同工”之妙

文章目录一、前言二、PDCA与Scrum介绍1、 PDCA循环&#xff08;戴明环&#xff09;2、 Scrum三、PDCA与Scrum对比四、总结一、前言 笔者最近参与到一个生产制造型企业的ERP系统升级改造项目&#xff0c;实施过程中涉及到QMS与质量管理相关内容。 在了解质量管理体系的过程中发…

如何优雅地使用git?

文章目录Oh shit gitgitmojigit命令思维导图Oh shit git https://ohshitgit.com/ 这个网站针对一些在使用git中可能遇到的问题都做了详细介绍&#xff0c;并且形象生动。 例如&#xff1a;Oh shit&#xff0c;我想改个地方&#xff0c;但我已经提交&#xff08;commited&#…

现代C++ 05

智能指针与内存管理 1.1 RAII 与引用计数 了解 Objective-C/Swift 的程序员应该知道引用计数的概念。引用计数这种计数是为了防止内存泄露而产生的。 基本想法是对于动态分配的对象&#xff0c;进行引用计数&#xff0c;每当增加一次对同一个对象的引用&#xff0c;那么引用对…

云安全攻击手段及防御策略

恶意软件是我们必须面对的现实&#xff0c;我们每天都需要与蠕虫、病毒、间谍软件和其他行恶意软件作斗争&#xff0c;而云恶意软件是我们需要面对的又一种类别。它已经发展十多年&#xff0c;早在2011年就托管在亚马逊简单存储服务存储桶中。云安全提供商Netskope报告称&#…

SpringCloud01--黑马【上】

SpringCloud01 1.认识微服务 随着互联网行业的发展&#xff0c;对服务的要求也越来越高&#xff0c;服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢&#xff1f; 1.0.学习目标 了解微服务架构的优缺点 1.1.单体架构 单体架构&#xff…

三菱FX5U系列PLC与汇川IT6000系列触摸屏进行MODBUS TCP通信的具体方法

三菱FX5U系列PLC与汇川IT6000系列触摸屏进行MODBUS TCP通信的具体方法 本次和大家分享三菱FX5U系列PLC与汇川IT6000系列触摸屏进行MODBUS TCP通信的具体方法,由于汇川IT6000系列触摸屏组态软件中没有三菱FX5U系列PLC的连接驱动,所以采用MODBUS TCP通信的方式实现。 具体步骤可…

黄海冷水区微生物群落的季节演替及温度响应模式

期刊&#xff1a;Applied and Environmental Microbiology 影响因子&#xff1a;5.005 发表时间&#xff1a;2022 样本类型&#xff1a;水体 客户单位&#xff1a;中国海洋大学 凌恩客户中国海洋大学发表在《Applied and Environmental Microbiology》上的文章…

vue3 antd项目实战——table表格 根据属性值设置背景颜色【rowClassName添加行样式 + /deep/样式穿透 + css不可控】

根据数据属性值添加table表格行样式&#xff08;rowClassName&#xff09;知识调用场景复现利用rowClassName编写行样式编写行样式函数➕筛选条件编写特定的行样式取消相应的斑马纹样式知识调用 文章中可能会用到的知识链接vue3ant design vuets实战【ant-design-vue组件库引入…

如何检测时间序列中的异方差(Heteroskedasticity)

时间序列中非恒定方差的检测与处理&#xff0c;如果一个时间序列的方差随时间变化&#xff0c;那么它就是异方差的。否则数据集是同方差的。 异方差性影响时间序列建模。因此检测和处理这种情况非常重要。 让我们从一个可视化的例子开始。 下面的图1显示了航空公司乘客的时间…

Zotero快速入门

文章目录一、前言二、下载和安装Zotero三、界面初识和基本操作3.1 创建分类3.2 文献导入3.2.1 自动导入3.2.2 手动导入3.3 内置pdf管理3.4 同步3.5 插件3.5.1 安装方法3.5.2 插件推荐四、与word/wps协同引用文献4.1 使用内置格式4.1.1 添加索引4.1.2 添加书目4.2 自定义格式4.2…

基于AD Event日志监测域内信息探测行为

01、简介当攻击者获得内网某台域内服务器的权限&#xff0c;就会以此为起始攻击点&#xff0c;尽可能地去收集域的信息&#xff0c;以获取域控权限作为内网的终极目标。例如&#xff0c;攻击者会在内网中收集域管理员用户列表和特定敏感用户的信息&#xff0c;通过定位域管理员…

【c++】STL--vector

前言 想必大家已经对string有所了解了&#xff0c;string是专门用于字符串的。今天讲到的vector则是表示可变大小数组的序列容器。就像数组一样&#xff0c;vectoer也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问&#xff0c;和数组…

从根本上理解Synchronized的加锁过程

伸手摘星&#xff0c;即使一无所获&#xff0c;亦不致满手污泥。 请关注公众号&#xff1a;星河之码 作为一个Java开发&#xff0c;对于Synchronized这个关键字并不会陌生&#xff0c;无论是并发编程&#xff0c;还是与面试官对线&#xff0c;Synchronized可以说是必不可少。 …

顶刊实证复现:金融投资行为与企业技术创新 -动机分析与经验证据(思路梳理+全数据源+python代码)

标题&#xff1a;金融投资行为与企业技术创新 ——动机分析与经验证据 参考文献 作者&#xff1a;段军山 庄旭东 数据概况 1、数据来源&#xff1a; 第三方数据库 2、样本&#xff1a;2009-2018 中国 A 股市场的上市公司科技数据和财务数据 3、数据处理&#xff1a; (1)由…

Filter和Listener学习笔记

1.什么是Filter 2.定义过滤器 &#xff08;注意导的Filter的包来源是Javax.servlet&#xff09; /* 定义一个过滤器的步骤&#xff1a;1. 自定义一个类实现Filter接口2. 把过滤器规则定义在doFilter方法里面3. 使用WebFilter注解配置过滤的路径*///过滤的路径 //WebFilter(&qu…

用拙劣的Python技术画出的圣诞树(勿喷)

2022年圣诞节到来啦&#xff0c;很高兴这次我们又能一起度过~ 一、前言 今天晚上,准备睡觉的我看见了CSDN有活动了,我就立马飞奔到电脑前面 这不,CSDN又举办了一场活动,看着令人心动的奖励和丰富的勋章,我的口水都从眼睛里流出来了(夸张),我准备创造一颗圣诞树,但是又想到我…

「设计模式」责任链模式

「设计模式」责任链模式 文章目录「设计模式」责任链模式一、概述二、结构三、案例实现四、优缺点五、应用场景六、模拟过滤器机制七、拓展八、小结一、概述 责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;为请求创建了一个接收者对象的链。这种模式给予…

高频时序数据的储存与统计方案

文章目录问题背景解决办法第一步&#xff0c;梳理数据和计算要求第二步&#xff0c;确定存储和计算方案第三步&#xff0c;确定技术选型和方案第四步&#xff0c;实施优化方案后记问题背景 发电设备中常常会放置传感器&#xff08;DCS&#xff09;来采集数据以监控设备运转的状…

河海大学软件工程学硕考研复试经验贴

一、写在前面 想必看到这篇文章的学弟学妹都已经考完初试了&#xff0c;考得如何每个人心中各有千秋。无论如何&#xff0c;坚持将考研整个过程走下来的你们就已经是最棒的了&#xff0c;现在可以好好休息一下&#xff0c;静待考研成绩的公布了。 我写下这篇文章的目的主要是…