找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
本帖最后由 武汉2期-梁嘉文 于 2021-6-25 10:50 编辑

没有持续集成时,开发的模式是:
第一步:项目一开始划分模块,将模块分配给对应的开发
第二步:开发对自己所负责的模块进行开发以及对应后期的单元测试
第三步:等所有模块开发完成后,由项目老大(开发负责人)对所有模块的
代码进行集成
第四步:将集成好的代码部署到测试环境上,交由测试人员进行集成测试
第五步:测试过程中发现bug,测试人员提交bug并进行记录
第六步:对应的开发人员进行bug修复
第七步:等所有开发人员将bug修复好,再进行代码集成,交给测试进
行回归测试,这样我们会陷入一个循环:修改bug­集成代码­部署测试
的循环中
出现问题:
a.bug永远都是在最后才发现,不能及时发现。
b.这样的话测试效率低,使得交付效率质量差。

一、 持续集成的基本概念

持续集成(ContinuousIntegration,简称CI),是一种软件开发实践,在实践中指只要代码有变更,就自动运行构建和测试,反馈运行结果。

通俗一点来讲,就是绑定项目的代码仓库,SVN或者Git库,自动抓取新的代码,完成构建,甚至执行测试,部署到服务器。

持续集成的好处:
1.能够快速暴露错误
2.保证代码提交质量
3.定位错误更加容易
4.降低整体集成风险
5.促进产品的快速迭代
6.能够构建统一的代码库
7.自动完成部署和构建
8.利于高效完成自动化测试工作
9.保证项目的交付质量


与持续集成相关的,还有两个概念,分别是持续交付和持续部署。
持续交付

持续交付(Continuousdelivery)指频繁持续的将软件的新版本,交付给质量团队或者用户。它强调的是,不管怎么更新,软件是随时随地可以交付使用的。

持续部署
持续部署(continuousdeployment)是持续交付的下一步,指的是代码通过评审测试以后,自动部署到生产环境。

持续部署的目标是,代码在任何时刻都是可部署的,可以进入生产阶段。因此持续部署的前提是能自动化完成测试、构建、部署等步骤。
C:\Users\Administrator\AppData\Local\YNote\data\weixinobU7VjmJ-SLH22zvu68htwsZyvu0\55f257ea36614d3c8495e88f00c68e19\clipboard.png
四、 持续集成的流程

根据持续集成的设计,代码从提交到生产,整个过程如下:

提交

开发者向代码仓库提交代码。

构建

也称之为集成。检测到代码提交后,进行构建(build)。构建的目的是将源码转换为可以运行的实际代码,比如安装依赖,配置各种资源(样式表、JS脚本、图片)等等。

测试

只要检测到有提交代码或者合并,自动跑模块单元测试。

构建完成,就要进行第二轮测试。第二轮是全面测试,单元测试和集成测试都会跑,所有测试以自动化为主,少数无法自动化的测试用例,就要人工跑。

部署

通过了第二轮测试,形成测试通过的版本,部署到生产服务器。

Jenkins
是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个
开放易用的软件平台,使软件的持续集成变成可能。

jenkins作用:
1、持续的软件版本发布/测试项目。
2、监视任务的执行和项目源代码修改的检测
3、构建自动化测试项目、执行自动化测试脚本
4、用来构建Android和iOS端的app包、生成二维码可以直接下载


Linux 查看当前时间
一、查看和修改Linux的时区
1. 查看当前时区
命令 : "date -R"
2. 修改设置Linux服务器时区
方法 A
命令 : "tzselect"
方法 B 仅限于RedHat Linux 和 CentOS
命令 : "timeconfig"
方法 C 适用于Debian
命令 : "dpkg-reconfigure tzdata"
3. 复制相应的时区文件,替换系统时区文件;或者创建链接文件
cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime
例如:在设置中国时区使用亚洲/上海(+8)
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

二、查看和修改Linux的时间
1. 查看时间和日期
命令 : "date"
2.设置时间和日期
例如:将系统日期设定成2009年11月3日的命令
命令 : "date -s 11/03/2009"
将系统时间设定成下午5点55分55秒的命令
命令 : "date -s 17:55:55"
3. 将当前时间和日期写入BIOS,避免重启后失效
命令 : "hwclock -w"

注:
date
不加参数可以直接看到当前日期时间
cal
不加参数可以直接看到本月月历


构建模式——>定时构建
分  时  日  月  周
每天晚上八点整构建
0  20  *  *  *
每天的早上8点到晚上8点每隔30分钟构建一次
H/30  8-20  *  *  *
每天的早上八点到晚上八点每隔两小时构建一次
H  8-20/2  *  *  *

每隔5分钟构建一次
H/5 * * * *

每两小时构建一次
H H/2 * * *

每天中午12点定时构建一次
H 12 * * *

每天下午18点定时构建一次
H 18 * * *

在每个小时的前半个小时内的每10分钟
H(0-29)/10 * * * *

每两小时一次,每个工作日上午9点到下午5点(也许是上午10:38,下午12:38,下午2:38,下午4:38)
H H(9-17)/2 * * 1-5

*  表示任意时刻
H 表示随机
     H  20  *  *  *
-  表示连续
     0  20  *  *  2-4   (周二到周四每天的晚上八点整构建一次)
/  表示间隔
, (逗号) 表示和
     H  20  * *  2,4,6  (周二、周四、周六的每天晚上的八点构建一次)




分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册