学习有关在软件开发周期中采用持续集成的收益,以及如何使用 jenkins 和 maven 插件去实现。
在一个典型组织中,一个定义明确的 SDLC 实践通常具有与用户和角色一起运行的项目。 这些用户根据业务需求/要求设计,开发,测试和部署作业。但是你有没有想过:
在本博客中,我将强调持续集成(CI)的过程,连续性的重要性以及如何使用 Talend CI 构建工具结合 Jenkins 和 Maven 插件去实现目的。
所以,作为一个组织变得持续性应该是由 CI,CT,CD 驱动的,并且他必须融合在软件开发周期中,下面的图显示了从 SDLC 生命周期到 CI,CT,CD 阶段的融合。
因此,持续性的好处是什么?如果正确实现了并且定期进行实践,持续性有助于减少集成的问题,这些会使你交付作业/代码/软件更加迅速。
另外,通过定期集成,你能快速检测错误,并且很容易的定位它们。通过使用正确的工具,在集成代码的时可以减少冲突和更容易解决冲突。最重要的一点是,你没有机会打破已经存在的东西,即使他坏了,也更容易解决/恢复。
为了进行持续集成,需要有一个仓库,可以保存、检索和维护代码。这个仓库必须足够的好,可以提供开发人员一个强大的版本控制系统。
虽然有许多 CI 工具可以用,但是我建议尝试 Git,Git 是一种版本控制软件,用于跟踪代码变化和协调许多人之间的代码工作。
它主要用于软件开发中的源代码管理,但是它能用来追踪任何一组文件的改变,它提供了少量的常见工作流模型
此流程使用中央仓库作为项目所有更改的单点入口。默认的开发分支为主干,所有的更改都要提交到这个分支。除了主干以外,这个工作流不需要任何其他分支。典型的集中式工作流生命周期如下:
你可能注意到了这个集中式工作流更像是具有很少 Git 特性的 SVN。这对 SVN 转型团队来说非常好,不过他并没有使用 Git 的分布式特性。
特性分支工作流的核心思想是,所有的功能开发都应该在专用分支中进行而不是主干,Git 不会在主干分支和特性分支之间进行技术上的区别。因此,开发人员可以像在集中式工作流中一样编辑,分段和提交。这里,一个典型的工作流如下所示:
定义了围绕项目发布设计的严格分支模型。这为管理大型项目提供了一个健壮的框架,和特性分支工作流类似,只是他分配了非常具体的角色给不同的分支,并定义了他们应该如何以及何时进行交互。
它还使用了各个独立的分支来准备,维护和记录发布。像前面的工作流一样,开发人员在本地工作并推送分支到中央仓库,唯一的区别是项目的分支结构,你定义了历史分支,特性分支,发布分支和维护分支
作者:Rekha Sree 原文:https://dzone.com/articles/an-introduction-to-continuous-integration-and-work 译者:one day
END