小团队持续集成之实践【1】 - 概述以及服务整合

概述


俗话说,工欲善其事必先利其器,在团队开始之初,好的工具能很好的提升效率,而在日常开发中,离不开以下工具:

  • 项目管理 (跟踪里程碑、版本、需求等等)
  • 版本管理
  • 持续集成
  • 文件共享
  • 其他(诸如自动化测试、WIKI知识库等等)

在这份系列文章里,将会详细介绍小团队的协作服务器的搭建,以及持续集成的一些经验。
所有服务都采用开源、免费的方案,并且通过Docker等技术,来降低团队使用、维护成本。

:blush: 当然有米的话,可以选择atlassian公司的整套解决方案,在我给公司搭建的整套服务的时候(2015年),以及现在写这篇文章的时候,它家的大部分产品或者服务,都是要收费的,当然也有免费的,例如:bitbucket small teams(5 users)

如果团队是开源项目类型,建议使用:Github、Travis CI等,这样可以把成本控制到最低。
同时,这里有一份Github官方推荐工具列表: integrations

一些体会和经验


在团队混沌之初,项目管理、发版、版本管理等总是非常混乱,常出现经理说了个事,最后开发都没听到,或者一个月之后忘了;而开发手工发版,这个版本改了什么?谁知道呢?结果一个未知的玩意跑去测试那边,测试也很受伤,到项目就要上马,测试压力大,只能像和尚念经一样天天围着开发转。经历过太多坑之后,决心要痛改前非。

  • 统一账户认证

在企业的日常运转中,通常都会使用非常多的协助软件,诸如:OA、ERP、VCS(版本控制系统)、项目管理系统等等,这些都是需要进行身份验证的,最简单、低成本的做法就是使用账户和密码登录,但在很多企业里面,这些系统通常都是不连通的,导致一个系统一个账号,用户到头来,都忘了自己的账号和密码。

因此,一号通行所有的系统,是巨大的优势,在搭建的所有服务当中,我们将使用统一的账号认证,一个账号即可访问所有的服务。

  • 项目管理系统

项目管理系统的好处不言而喻,它可以让我们的开发更有节奏,效率更高、更有条理。

  • 版本管理系统

这个是标配了,没有版本管理系统,如何干活?

  • 持续集成服务

持续集成的好处实在太多,很多文章都有介绍,抛开管理流程上的来说,在版本构建过程中很多重复劳动工作,也是可以交给持续集成系统来完成的,诸如多渠道打包、OEM/ODM版本构建等等。

  • 其他

还包括WIKI、私有云盘、代码质量管理平台等等。这些可以根据团队自身需求来决定是否部署。

服务的整合


一旦部署那么多服务,无形中给团队添加了许多学习成本,但我们文章开篇说了,好的工具是提升效率的,因此,这些服务需要整合在一起,降低使用者的学习成本和难度。在很多实践当中,版本管理和持续集成是最容易也是最需要整合在一起的,通常达到的效果就是:开发者只需要提交代码或者合并分支,就会自动完成以下流程:

  1. 拉取代码,产生修改日志
  2. 静态扫描代码,产生初期的代码质量报表
  3. 构建
  4. 存档
  5. 进行集成测试
  6. 通知相关人员

因此,在实践当中,我采用下图中的流程来达到上述目的:

dept_flow.jpg

上图中的流程也包含了各个服务,以及服务的目的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值