您现在的位置是:首页 > 综合信息网站首页综合信息

持续集成持续部署(持续化集成)

  • 编辑:
  • 2022-09-29 18:10:30
  • 来源:

大家好,小必来为大家解答以上的问题。持续集成持续部署,持续化集成这个很多人还不知道,现在让我们一起来看看吧!

1、From:王海鹏持续集成不是一项软件开发实践,而是多项软件开发实践的集合。

2、团队在尝试引入这些开发实践时,不可避免要遇到一个问题:?如果不能很好地理解为什么,持续集成可能会进入误区,不能带来期望的效果。

3、 数据集成。

4、数据是所有IT 系统的核心,所有的架构都建立在数据的基础之上,其目的都是为了更好地处理数据。

5、由于数据如此重要,所以我们派专人来负责管理和维护,这就是 DBA。

6、不幸的是,DBA 与程序员似乎来自于不同的文化,他们讲的不是同一种语言。

7、结果常常导致程序员基于自己对数据库的假设来开发程序,到了项目的后期才与真实数据库进行集成。

8、这种假设会带来很大的集成和部署风险,影响代码的品质,可能引起大量的返工。

9、 对于针对已有数据集的开发,持续集成强调尽可能早地与实际数据集成,例如可以通过数据库复制,在一个几乎与生产环境一样的开发环境中进行开发。

10、此外,DBA 可以与开发团队密切配合,双方分享观点与经验,使数据库的组织方式也能够根据新的业务需求与时俱进。

11、关于这一主题,请参考Scott W.Ambler 的《数据库重构》。

12、 如果项目要开发一个全新的应用,还没有数据集存在,怎么办?办法很简单:一、尽早得到真实的数据集。

13、二、随着开发团队对问题域的理解不断加深,应用功能的不断实现,让数据的组织方式也不断优化。

14、 静态代码检查。

15、不同的人写的代码,其品质差异比较大。

16、相同的人在不同时间写的代码,其品质也可以有相当的差异。

17、为此,人们设计了代码评审活动,来提高代码品质。

18、极限编程则通过结对编程的实践,将代码复查工作扩展到开发的每一分钟。

19、这样做代价不菲。

20、当然,根据克劳斯比的观点,以这样的代价换取高品质的产品,总的来说还是值得的。

21、但是人们总是在想,如果能够降低检查的成本,又能够获得检查的好处,岂不美哉? 编码标准就是一个典型的例子。

22、相信每一个严肃的开发机构都不会不提编码标准,但是检查代码是否符合编码标准却是一件耗时耗力的事情,这导致了在许多项目中,编码标准有名无实。

23、自动化的代码检查工具承担了这项繁复的工作。

24、像CheckStyle 这样的工具,能够自动检查代码是否符合编码标准。

25、项目以能够承受的代价,满足了编码标准。

26、程序员也在这种检查中不断提高,养成良好的编码习惯。

27、 静态代码检查还能做更多的事。

28、出于种种原因,我们希望代码能够做到"低耦合,高内聚"。

29、像PMD 这样的代码依赖关系检查工具能帮助我们发现不正当的依赖关系。

30、重复的代码是品质的大敌,PMD 还能找出重复的代码。

31、人们在使用某种编程语言时,会有一些容易犯的错误,像FindBugs 这样的工具能够帮助我们找出这些错误。

32、 静态代码检查不是要完全替代评审活动,但它能够让我们从繁复的低创造性活动中解放出来,专注于创造性的思维和活动。

33、工具的归工具,人的归人。

34、 自动化测试。

35、利用现有的技术,我们可以用能够承担的成本,将许多的测试自动化。

36、这些自动化测试包括单元测试、集成测试、系统测试、验收测试、压力测试等。

37、而通过持续集成来持续进行自动化测试,将带来许多好处。

38、 自动化测试减轻了开发团队的压力,让大家对系统有信心,使工作的气氛变得更轻松。

39、有了自动化测试的保护,开发者也敢于不断对系统进行改进,添加新的特征和改进代码品质。

40、当系统有机会越来越好时,我们才可能创造出了不起的软件。

41、 自动化测试降低了测试和修改的成本。

42、错误越早发现,更正它的成本就越低。

43、自动化测试加速了开发/测试循环,从而使修正错误的成本降低。

44、容易测试的系统就容易增强和维护,难测试的系统就难增强和维护,不可测试的系统基本上可以排除在我们的考虑之外。

45、测试成本低的系统才是开发维护成本低的系统。

46、 自动化测试报告了系统的真实进度。

47、哪些需求已实现?现有的架构和实现是否能满足性能需求?自动化的验收测试和压力测试会告诉我们准确的答案。

48、在许多情况下,我们都有理由让需求可测试,让测试能够自动执行。

49、 自动化部署。

50、系统能否部署到目标生产环境?是否需要进行一些数据迁移和应用升级?配置文件是否正确?理解这些问题的最好方式就是将部署过程自动化。

51、通过向近似于生产环境的目标环境持续部署,确保部署过程没有问题。

52、在自动化部署成功后,再对部署好的系统执行验收测试和压力测试。

53、持续部署可以尽早发现部署过程中的问题,降低系统上线时的风险。

54、 提高项目可见性。

55、项目的进度如何?哪些需求已实现?哪些代码已测试?代码的品质如何?持续集成及时呈现各种分析报告,让开发团队和管理层了解项目的真实状况,从而制定正确的决策。

56、"不识庐山真面目,只缘身在此山中"的感觉一去不复返。

57、一般来说,最成功的人拥有最好的信息。

58、 ?因为持续集成将改善软件的质量,降低风险,使软件开发变得更有效率,让大家能够"愉快工作,幸福生活",而不是"加班工作,维持生活"。

59、这不是唯一的标准答案,每个团队都可以思考讨论,得到属于自己的答案。

60、关于持续集成的更多内容,请参考《持续集成》一书。

61、集成是将更新的代码合并或者提交到主干源码仓库中。

62、在这个合并或者提交的过程中,都伴随着执行一系列的质量保证活动如代码规范检查、单元测试、安全扫描等来确保代码的质量。

63、持续集成是在版本控制的基础上,通过频繁的代码提交、自动化构建和单元测试加快集成周期和问题反馈速度,从而及时验证系统可用性。

64、为了保证后续的系统质量,在持续集成过程中,还会加入代码规范扫描、安全漏洞扫描、集成测试等活动,用来保证代码形成过程符合质量要求。

65、持续集成的频率达到每天多次、频繁的集成,可以提前发现问题尽早解决冲突,使后续的持续集成更顺畅。

66、通常情况下,持续集成会与持续部署,持续交付一起被人们提及,其关系如下:集成是指软件个人研发的部分向软件整体部分交付;部署是代码尽快向可运行的开发/测试节交付;交付是指研发尽快向客户交付。

67、持续,就是每完成一个完整的部分,就向下个环节交付,在环节中发现问题可以马上调整。

68、持续集成(Continuous Integration)就是强调开发人员提交了新代码之后,立刻进行构建、(单元)测试,以便确定新代码和原有代码能否正确地集成在一起,查看这其中是否有什么问题,大家现在采用的DevOps开发模式正是最好的体现。

69、而这一模式也对管理工具提出了更高的要求,在当今软件开发环境下,由于制品仓库管理工具参差不齐,每种制品都有自己的制品管理工具,增加了管理制品的成本。

70、JFrog的 Artifactory是唯一支持所有主要打包格式,构建工具和CI服务器的全语言制品仓库,也是唯一一个企业级的制品库管理平台,它支持安全的、集群的、高可用的 Docker 注册中心与所有主流的 CI/CD 和 DevOps 工具集成,Artifactory 提供了端到端、自动化且无缝的追踪工件,以及从开发环境到生产环境的DevOps解决方案。

本文到此分享完毕,希望对大家有所帮助。

免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
Top