失效链接处理 |
Jenkins持续集成从入门到精通 PDF 下载
本站整理下载:
提取码:mczo
相关截图:
主要内容:
《Jenkins持续集成入门到精通》
1、持续集成及Jenkins介绍
2、Jenkins安装和持续集成环境配置
3、Jenkins构建Maven项目
4、Jenkins+Docker+SpringCloud微服务持续集成
5、基于Kubernetes/K8S构建Jenkins微服务持续集成平台
1、持续集成及Jenkins介绍
软件开发生命周期
软件开发生命周期又叫做SDLC(Software Development Life Cycle),它是集合了计划、开发、测试
和部署过程的集合。如下图所示 :
需求分析
这是生命周期的第一阶段,根据项目需求,团队执行一个可行性计划的分析。项目需求可能是公司内部
或者客户提出的。这阶段主要是对信息的收集,也有可能是对现有项目的改善和重新做一个新的项目。
还要分析项目的预算多长,可以从哪方面受益及布局,这也是项目创建的目标。
设计
第二阶段就是设计阶段,系统架构和满意状态(就是要做成什么样子,有什么功能),和创建一个项目
计划。计划可以使用图表,布局设计或者文者的方式呈现。
实现
优势 劣势
简单易用和理解 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地
增加了工作量。
当前一阶段完成后,您只需要
去关注后续阶段。
由于开发模型是线性的,用户只有等到整个过程的末期才能见
到开发成果,从而增加了开发风险。
为项目提供了按阶段划分的检
查节点 瀑布模型的突出缺点是不适应用户需求的变化。
第三阶段就是实现阶段,项目经理创建和分配工作给开者,开发者根据任务和在设计阶段定义的目标进
行开发代码。依据项目的大小和复杂程度,可以需要数月或更长时间才能完成。
测试
测试人员进行代码测试 ,包括功能测试、代码测试、压力测试等。
进化
最后进阶段就是对产品不断的进化改进和维护阶段,根据用户的使用情况,可能需要对某功能进行修
改,bug修复,功能增加等。
软件开发瀑布模型
瀑布模型是最著名和最常使用的软件开发模型。瀑布模型就是一系列的软件开发过程。它是由制造业繁
衍出来的。一个高度化的结构流程在一个方向上流动,有点像生产线一样。在瀑布模型创建之初,没有
其它开发的模型,有很多东西全靠开发人员去猜测,去开发。这样的模型仅适用于那些简单的软件开
发, 但是已经不适合现在的开发了。
下图对软件开发模型的一个阐述。
软件的敏捷开发
什么是敏捷开发?
敏捷开发(Agile Development) 的核心是迭代开发(Iterative Development) 与 增量开发
(Incremental Development) 。
===何为迭代开发?===
对于大型软件项目,传统的开发方式是采用一个大周期(比如一年)进行开发,整个过程就是一次"大
开发";迭代开发的方式则不一样,它将开发过程拆分成多个小周期,即一次"大开发"变成多次"小开
发",每次小开发都是同样的流程,所以看上去就好像重复在做同样的步骤。
举例来说,SpaceX 公司想造一个大推力火箭,将人类送到火星。但是,它不是一开始就造大火箭,而
是先造一个最简陋的小火箭 Falcon 1。结果,第一次发射就爆炸了,直到第四次发射,才成功进入轨
道。然后,开发了中型火箭 Falcon 9,九年中发射了70次。最后,才开发 Falcon 重型火箭。如果
SpaceX 不采用迭代开发,它可能直到现在还无法上天。
===何为增量开发?===
软件的每个版本,都会新增一个用户可以感知的完整功能。也就是说,按照新增功能来划分迭代。
举例来说,房产公司开发一个10栋楼的小区。如果采用增量开发的模式,该公司第一个迭代就是交付一
号楼,第二个迭代交付二号楼......每个迭代都是完成一栋完整的楼。而不是第一个迭代挖好10栋楼的地
基,第二个迭代建好每栋楼的骨架,第三个迭代架设屋顶......
敏捷开发如何迭代?
虽然敏捷开发将软件开发分成多个迭代,但是也要求,每次迭代都是一个完整的软件开发周期,必须按
照软件工程的方法论,进行正规的流程管理。
敏捷开发有什么好处?
==早期交付==
敏捷开发的第一个好处,就是早期交付,从而大大降低成本。 还是以上一节的房产公司为例,如果按照
传统的"瀑布开发模式",先挖10栋楼的地基、再盖骨架、然后架设屋顶,每个阶段都等到前一个阶段完
成后开始,可能需要两年才能一次性交付10栋楼。也就是说,如果不考虑预售,该项目必须等到两年后
才能回款。 敏捷开发是六个月后交付一号楼,后面每两个月交付一栋楼。因此,半年就能回款10%,后
面每个月都会有现金流,资金压力就大大减轻了。
==降低风险===
敏捷开发的第二个好处是,及时了解市场需求,降低产品不适用的风险。 请想一想,哪一种情况损失比
较小:10栋楼都造好以后,才发现卖不出去,还是造好第一栋楼,就发现卖不出去,从而改进或停建后
面9栋楼?
什么是持续集成
持续集成( Continuous integration , 简称 CI )指的是,频繁地(一天多次)将代码集成到主干。
持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干
之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。
通过持续集成, 团队可以快速的从一个功能到另一个功能,简而言之,敏捷软件开发很大一部分都要归
功于持续集成。
|