什么是持续整合 你需要了解
我们的敏捷方法指南已成为编码人员和程序开发人员的最佳实践。一旦项目完成,很容易发现错误,但纠正它们并不容易或便宜。在编码方面,这尤其成问题,这也是许多软件开发人员在构建过程中经常转向持续集成(CI)的原因。
CI允许开发人员在整个工作日内多次向中央共享存储库添加代码行,并在发生错误时发现并修复错误。更高数量的常规积分允许更容易的错误检测和更快的速率。
这通常是一种更便宜的建筑方式,因为它限制了设计过程中累积的错误或不可预见的后果。这些问题可以在早期检测到并单独修复。因此,使用CI构建的项目通常按预算出现。
验证,查找,修复
CI的一个主要好处是开发人员仍然可以孤立地工作而不会破坏团队的其他成员。一旦发现错误,就可以从代码中删除它,然后可以很快地将其添加回团队代码库的其余部分。
等待数天或数周来集成代码可能会导致更多问题,例如重复行或分歧策略。更重要的是,由于个别开发人员可能正在处理原始代码库的副本,因此未能定期集成可能会导致代码变得过时,因为原始代码已被其他人集成。
开发人员首先将自己的代码共享到中央存储库中。从那里,提交的代码触发自动质量控制脚本,从存储库中获取最新代码以构建,测试和验证代码序列 - 如果干净,它将被添加到主“分支”或“主干”(所有的总和)贡献)。
由于整个团队使用单个存储库,开发人员可以继续孤立地工作,尽管他们的贡献经常被检查和测试。由于时间戳,团队中的其他人都可以看到正在添加,取出和更改的内容。
经常签入
由于CI具有一组特定的规则,例如,,并且,流程自我照顾,意味着团队几乎不需要管理层监督。
该操作使得开发人员不仅可以随时添加代码,还可以提交“拉取请求”,抓取一些代码来修复和调整主分支。
构建这种自动共享存储库可能非常具有挑战性且耗时,但一旦建立,它可以极大地提高代码开发的质量和效率。
CI和DevOps
DevOps是过去十年中软件开发的最大趋势之一,CI一直是其基石之一。这两种做法是相辅相成的,具有类似的目标和机制。与CI一样,DevOps旨在缩短项目生命周期,并以尽可能频繁地部署和测试代码为基础。
因此,CI是任何DevOps工具链的重要(如果不是必不可少的)成分,以及版本控制软件和工作流程自动化工具。您几乎每小时都找不到许多不使用Jenkins,Gitlab,Bamboo或类似CI工具的DevOps团队来部署他们的代码。由于它们通常用作更广泛的工具集的一部分,因此大多数CI系统旨在与大量不同的工具和平台集成,包括内部部署服务器,云平台,容器管理软件,代码管理系统等。许多还基于开源许可证,使它们非常容易开发集成。
但是,DevOps和CI不是同义词。DevOps涉及查看整个应用程序的生命周期,并涵盖项目的初始规划阶段和完成后分析等领域。相比之下,CI仅关注应用程序代码库的实际构造和测试;一旦编程完成并且代码已经过测试,CI就不再发挥作用 - 但DevOps的本质意味着一旦发生这种情况,就应该开始下一个编码冲刺了。