05 | 持续集成:集成本身就是写代码的一个环节
该思维导图由 AI 生成,仅供参考
集成之“灾”
- 深入了解
- 翻译
- 解释
- 总结
持续集成在软件开发中扮演着重要角色,强调代码集成的频率和自动化。文章通过实际案例展示了传统集成方式的弊端,并介绍了持续集成的发展历程,从每日构建到持续集成服务器的出现。强调持续集成的重要性和优势,指出许多公司仍未达到同步状态,呼吁读者尽早提交代码去集成。持续集成的思维让我们认识到,开发和集成可以合二为一,应该把开发的完成定义为代码已经集成起来。文章提供了深入了解和应用持续集成的基础知识,鼓励读者通过更多学习,对集成有足够的了解,从而进入到最先进的状态中。
《10x 程序员工作法》,新⼈⾸单¥68
全部留言(55)
- 最新
- 精选
- Scott曾经参与过一个项目,中美印三地开发,开发测试产品加起来可能过百吧。当时,我们中国团队做过一个这样的工具,每次在git-review上提交/更新review时,自动构建一个当前branch是最新版,打上review的patch,然后构建,跑UT,UT覆盖率在95%再向下走。 做到这一步,其实不算什么,但是已经超过国内80%的同行水平了。然后我们还会构建一个虚拟机镜像安装这个build,安装好了在专门的虚拟测试网络上启起来,利用自动测试工具跑一些基本的case,比如登陆啊,基本的操作啊,这一系列跑完,才可以正式的让人review。 这个项目因为一些方向性和市场的问题,一年多就失败了,项目组解散。但是集成水平,的确是我经历过的最高的。
作者回复: 确实做得不错!项目失败和实践之间是不能划等号的,不能因为项目失败就否认实践的优秀。
2019-01-04577 - 捞鱼的搬砖奇关于代码提交的问题,举例子是公司要求每日提交,如果一个功能没做好也要提交?还是说只要没有编译问题,即使未完成也得提交?
作者回复: 好问题,你对提交的理解说明任务分解做得不够,不能小步提交,这是在任务分解模块要讲的内容,敬请期待。
2019-01-04223 - 虢國技醬打卡: 目前我们团队借助git-flow,以git的分支 feature、release、hotfix和里程碑tag进行持续集成和构建; release 出发测试环境构建、tag出发生产环境部署
作者回复: 我最喜欢的分支模型是,没有feature分支的git flow。
2019-01-04519 - pyhhou公司一部分人在美国这边做开发,另一部分在台湾做开发,每到集成,想到的头疼的问题第一个就是时差问题,一般的流程就是他们那边发现了问题邮件发给我们,我们看一下感觉好像不是这边的问题,给些解释和建议又邮件抛回去,感觉这种情况可能需要就是一方的负责人得牺牲一下自己的私人时间,积极开会沟通?持续集成必须合作的所有teams都同意,或是都有这样的意识才行,不然光靠一方的努力感觉弄不起来,不知老师如何看?
作者回复: 不仅仅是持续集成,任何涉及到协作的实践都需要协作相关方的共同配合才可能有效落地。 如果大家都觉得工作起来很辛苦,其中肯定有不对的地方,需要坐下来,一起商量解决方案。我在专栏中给大家提供的就是你坐下来可以提出的建议,比如,持续集成,验收标准等等。
2019-01-04211 - 张简祺瑞持续集成不是很普通的事?
作者回复: 你有这种感觉,说明你所在的公司做得不错,但行业中还有大量需要提高的公司。
2019-01-08210 - 猿工匠开发完成的定义:集成为可运行的软件 开发模式:持续集成,尽早构建 git 版本工具,Jenkins 持续构建
作者回复: 很好的总结
2019-03-195 - zhengfc老师,您好;最近在做流程方面的重新梳理和实践,发现有个问题:比如产品那边起初是5个功能上线,后来由于某些原因或者市场原因临时砍掉一个一个功能,而这功能按持续集成每日构建的思路代码肯定是合掉了,这就产生代码回退和重新集成的问题,这个痛点有什么好的方案吗
作者回复: 在“任务分解”模块的答疑中,我介绍了 Feature Toggle,你可以了解一下。 这里面的关键点在于,你的代码模块需要划分清楚,这样无论是使用 Feature Toggle,还是调整代码,都有足够的空间去操作。
2019-02-235 - Jerry Wu老师,对于集成,我基本没有认识,这方面有体系化的课程吗? 我一直在小公司工作,是非常原始的状态,没什么协同可言。我作为后端工程师,要包揽大部分工作,确认需求、写代码、测试、上线、维护。遇上紧急的项目,就感到压力山大。 之前试过分摊工作给其他人,但最终的代码却漏洞百出,反而拖慢了进度。团队也一直做不大,像是个小作坊。 看完这节课,我在想,持续集成说不定能提高团队的协作,扩大团队规模。 老师,您能给些建议吗?
作者回复: 你可以先看看总复习中关于最佳实践的一节,从中把专栏里关于持续集成的内容找出来,一起读一下,形成一个完整的认识。 极客时间里也有持续交付的专栏,可以去了解,网上也有非常多的相关文章可以去看一下。
2020-04-103 - 春之绿野有一次为了改进我们的代码,新拉了个分支出来,在开发的过程中,新的功能要在新老两个分支上做两遍,最后合并的时候还要梳理一遍有没有只做在老的分支上的功能,还有个稍微大点的功能是国外的同事开发在老的分支上的,合并过来,太痛苦了
作者回复: 我一直认为,大分支就是给自己找麻烦。后面还有关于分支的讨论。
2019-05-053 - 彭薄我们公司是单独一个在现在教育网站,只有UI、后端和我一个前端,后端包揽了大部分事情,我每次写代码是Git下拉代码,然后修改,修改后上传,都结束后合并到主分支,通知后端上线。请问老师这算是每日构建持续集成吗?如果不算我们公司这种情况应该怎么样才算?
作者回复: 这种情况是最原始的开发状态,什么都没有。
2019-01-1623