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

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

作者: 夏日里的故事 | 来源:发表于2017-03-12 16:20 被阅读106次

    概述


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

    • 项目管理 (跟踪里程碑、版本、需求等等)
    • 版本管理
    • 持续集成
    • 文件共享
    • 其他(诸如自动化测试、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

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

    相关文章

      网友评论

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

      本文链接:https://www.haomeiwen.com/subject/emzusttx.html