Jenkins持续集成环境搭建1(Gitlab与idea配置)

哈喽大家好,我是站长。谷歌账号、苹果ID、小火箭下载、美区Appstore礼品卡等热门资源,可点击前往

目录

1.软件开发生命周期

软件开发生命周期又叫SDLC(Life Cycle),是规划、开发、测试、部署等过程的集合。如下图所示:

第三阶段是实施阶段,项目经理创建工作并将其分配给开发人员,开发人员根据设计阶段定义的任务和目标开发代码。根据项目的规模和复杂性,可能需要数月或更长时间才能完成。

1.2 软件开发瀑布模型

瀑布模型是最著名和最常用的软件开发模型。瀑布模型是一系列软件开发过程。它起源于制造业。高度结构化的流程朝一个方向流动,有点像生产线。瀑布模型最初被创建时,没有其他开发模型,很多事情都留给开发人员去猜测和开发。这样的模型只适合那些简单的软件开发,但它已经不再适合现在的开发。

下图说明了软件开发模型。

的优点和缺点

易于使用和理解

每个stage的分工完全固定,stage之间会产生大量的文档,大大增加了工作量

当前阶段完成后,您只需关注后续阶段。

由于开发模式是线性的,用户只能在整个过程的最后才能看到开发结果,这增加了开发风险。

为分阶段的项目提供检查点

瀑布模型的突出缺点是不能适应用户需求的变化。

1.3 敏捷软件开发

图片[1]-Jenkins持续集成环境搭建1(Gitlab与idea配置)-GuGeZone

什么是敏捷开发?

敏捷开发的核心是迭代开发和增量开发。

( ) 。

对于大型软件项目,传统的开发方式是采用一个大的周期(比如一年)进行开发,整个过程就是一个“大开发”;而迭代开发方式则不同,它把开发过程分成多个小的周期,也就是一个“大开发”变成多个“小开发”,每个小开发都有相同的过程,因此看上去就像在重复相同的步骤。

比如,该公司想造一枚大推力火箭,把人类送上火星。但一开始它没有造大型火箭,而是先造了一枚简单的小型火箭1号。结果第一次发射就爆炸了,直到第四次发射才成功入轨。随后,它又研制了一枚中型火箭9号,九年内发射了70次。最后它又研制了一枚重型火箭,如果不是采用迭代开发,可能到现在都还无法上天。

软件每个版本都会增加一个用户可以感知的完整功能,也就是说,迭代是按照新增功能来划分的。

比如某房地产公司开发一个有10栋楼的小区,如果采用增量开发模式,公司第一次迭代交付1号楼,第二次迭代交付2号楼,每次迭代完成一栋完整的楼。

第一次迭代构建地基,第二次迭代构建每栋建筑的骨架,第三次迭代构建屋顶……

敏捷开发虽然将软件开发划分为多个迭代过程,但是也要求每次迭代都是一个完整的软件开发周期,并且必须按照软件工程方法论以正式的流程进行管理。

图片[2]-Jenkins持续集成环境搭建1(Gitlab与idea配置)-GuGeZone

敏捷开发有什么好处?

敏捷开发的第一个好处就是早交付,大大降低了成本。我们还是上一节的房地产公司为例,如果按照传统的“瀑布式开发模式”,先挖10栋楼的地基,再搭骨架,再搭屋顶,每个阶段都是在前一个阶段完成后才开始的。一次性交付10栋楼可能要花两年的时间。也就是说,如果不考虑预售的话,项目要等两年才能收回款。敏捷开发则是半年后交付1号楼,之后每两个月交付一栋楼。因此半年就能收回10%的款,之后每个月都有现金流,大大减轻了资金压力。

敏捷开发的第二个好处是帮助你及时了解市场需求,降低产品失败的风险。想想看,哪种情况损失更小:建完10栋楼后发现卖不出去,还是建完第一栋楼后发现卖不出去,所以不得不改进或停止建造接下来的9栋楼?

1.4 什么是持续集成

持续集成(简称CI)意味着频繁地(每天几次)将代码集成到主干中。

持续集成的目的是为了让产品在保持高质量的前提下快速迭代,其核心措施是代码在集成到主干之前必须通过自动化测试,只要有一个测试用例不通过,就不能集成。

通过持续集成,团队可以快速地从一个功能转移到另一个功能。简而言之,敏捷软件开发的很大一部分归功于持续集成。

图片[1]-Jenkins持续集成环境搭建1(Gitlab与idea配置)-GuGeZone

按照持续集成的设计,从代码提交到生产的整个流程有以下步骤。

该流程的第一步是开发人员将代码提交到代码存储库。所有后续步骤都从本地代码提交开始。

()。

代码仓库配置了操作的钩子,只要代码提交或者合并到主干,就会运行自动化测试。

通过第一轮测试后,代码可以合并到主干并准备交付。

交付之后我们会先进行构建,然后进入第二轮测试。所谓构建,是指将源代码转化为可以运行的实际代码,比如安装依赖、配置各种资源(样式表、JS 脚本、图片)等。

构建完成后会进行第二轮测试,如果第一轮已经覆盖了所有的测试内容,第二轮可以省略,当然构建步骤也要移到第一轮测试之前。

经过第二轮测试,目前代码已经是可以直接部署的版本了()。打包该版本所有文件(

tar fi.tar * ) 存档并将其发送到生产服务器。

一旦当前版本出现问题,需要回滚到上一个版本的构建结果,最简单的方法就是修改符号链接,使其指向上一个版本的目录。

1.5 持续集成的要素 1.6 持续集成的好处

1.降低风险。由于持续集成不断地进行构建、编译和测试,可以在早期发现问题,因此修复成本较低。

2.持续检查系统健康状况,减少因发布风险带来的问题;

3.减少重复劳动;

4.持续部署,提供可部署的单元包;

5.持续交付可用版本;

6.增强团队信心;

二、引言

哈喽大家好,我是站长。谷歌账号、苹果ID、小火箭下载、美区Appstore礼品卡等热门资源,可点击前往

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容