上次在这里提到了敏捷开发scrum,6、产品经理和包工头的故事,敏捷开发背景下,还有CI(持续集成)环境,持续交付和持续部署。

小奈:今天捅了个篓子,我只是叫开发,修改个导航栏而已。
也测试了,没想到发版后,所有列表的图片显示不了。
大仁:你们公司没有CI环境?没做好回归测试,所以改了这个bug,影响了原本的功能。
CI环境
持续集成环境,在敏捷开发背景下,诞生的,一天多次将代码集成到主干。
有下面两个好处:
- 快速发现错误
- 防止分支大幅偏离主干
持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。他的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。

持续交付
持续交付(Continuous delivery)指的是,频繁地将软件的新版本,交付给质量团队或者用户,以供评审。

持续部署
持续部署(continuous deployment)是持续交付的下一步,指的是代码通过评审后,自动部署到生产环境。

Jenkins

Jenkins是一个开源项目,提供了一种易于使用的,持续集成系统,使开发者从繁杂的集成中解脱出来,专注于业务实现上。同时Jenkins能实施监控,集成过程中存在的错误,提供日志文件和提醒功能,还能用图表展示项目,构建的趋势和稳定性。
安装Jenkins&各种插件
java -jar jenkins.war --httpPort=8080
jenkins可以适用于各种开发环境,iOS、Android、Java等等,只需要你安装插件,

Jenkins + gitlab集成
Jenkins+gitlab集成后,就可以实现,提交代码到git后,jenkins自动构建(自动化很关键)
网友评论