导航:首页 > 源码编译 > 持续性编译发布

持续性编译发布

发布时间:2024-12-14 04:26:15

❶ 如何理解持续集成、持续交付、持续部署

我们经常听到持续集成,持续交付,持续部署,它们是什么,联系和区别是什么?让我告诉你我的想法。


是什么

集成指软件作为软件的一部分的部分交付,以尽早发现个体开发部分的问题;

部署是能够尽早交付到运行的开发/测试部分的代码,以便尽早进行测试;

交付是指研究和开发尽快交付给客户,以便尽早发现生产环境中的问题。


我个人认为持续的集成,持续的交付,持续的部署是值得传播的。在开发过程中,对集成的最大恐惧导致返工,而持续集成、持续交付和持续部署可以及早发现并及早解决,从而避免了这个问题。


❷ 如何做到持续集成

        首先需要理解持续集成是什么样子的一个概念。我曾经体会过如下图的应用开发测试部署流程,基本每天都在做同样的几件事情:

1、打包,等待maven编译打包

2、发布测试环境,手动重启服务

3、通知测试组测试(邮件、用嘴巴喊等等方式...) 

4、一顿grep查Exception,修复BUG,然后重复1、2、3、4

5、到达特殊的日子时,配合运维部署团队到测试环境手动最新版WAR包到生产环境,23点的一瞬间执行一个脚本,时刻盯住脚本运行结果,最后验证 

我们可以发现很多问题:

▫️ 编译打包的过程浪费开发资源,一次测试部署正常10到20分钟,那出现问题的情况... 

▫️ 测试长时间怠工,资源利用不充分,处于一人干活多人旁观低绩效状态 

▫️ 研发与测试的沟通方式高成本低效率 

▫️ BUG反馈方式低效                                                                                          

▫️ 生产环境得不到有效的管控以及安全保障,人工浪费

如果产品或者销售想要给客户演示测试环境,得到的结果可能是测试暂时不可用或者稍微等15到20分钟,是否能计算出他们的心理阴影面积?

DevOps的中心思想在于提高产品各个阶段的产出效率减少或者避开团队间的沟通障碍,推动产品的快速迭代,“快速失败”,从而实现持续交付、持续部署。而持续集成只是DevOps中的一个环节,下图清晰描述了CI各个周期活动。

我们可以发现较多优点:                                                                                                

1、流程全自动化,减少重复性的手工操作                                                                      

2、持续发布测试,时刻保持可发布的产品                                                                      

3、团队、高层对项目、产品的进展清晰可见,把控风险                                           

4、资源效率有效利用,流动效率更快

因此,我们要做到持续集成,我们需要:                                                                       

1、一套持续集成工具,大体可分为云集成与本地化集成系统,云集成比如Travis CI、cloudbees的云集成等,本地化集成主要是开源Jenkins的搭建,如果需要大规模部署Jenkins且有预算可使用Jenkins商业版                                                                        

2、自动化测试工具、良好的测试用例编写                                                                      

3、版本控制系统,git、gerrit推荐                                                                                 

4、构建、测试失败反馈机制,邮件、自动化运维(AI...)、日志收集分析系统                

5、一套需求、产品、开发、测试、部署、运维共同使用的敏捷研发管理系统,市场上有阿里云效、腾讯的TAPD等                                                                                            

6、...

阅读全文

与持续性编译发布相关的资料

热点内容
编程环境有哪些 浏览:176
吃千层软糕解压视频 浏览:910
linux重启数据库命令 浏览:303
为什么csgo匹配服务器不可用 浏览:964
解压双人小游戏玩一玩 浏览:153
通信安全的秘码算法 浏览:263
app登录记录怎么删除 浏览:136
加密视频怎么打不开录像 浏览:792
plc编程教程下载 浏览:488
云顶怎么转服务器 浏览:389
域用户命令 浏览:998
国外服务器地址网站 浏览:24
catia裁剪冲压命令在哪 浏览:555
辖区成年人总数估算法 浏览:570
图形算法学徒 浏览:713
2018预算法新旧对比 浏览:346
怎样算法院审理程序不合法 浏览:543
php脚本参数 浏览:468
linuxmatlab命令行 浏览:188
安卓手机如何解压cci文件 浏览:310