美文网首页
初创公司代码管理与运维规范化

初创公司代码管理与运维规范化

作者: rockops | 来源:发表于2017-09-26 22:52 被阅读253次

前言

没有什么规则是完全正确的,但如果没有大家统一认可的规则,各自为战,事情将会变成一团糟。

代码仓库与分支管理

SVN分支管理

很多创业公司的代码仓库是使用的SVN,集中式代码仓库,我们最初用的也是,很古老的工具,我知道。
使用SVN,有两种开发模式,

  1. 主干开发
    所有研发开发不拉新分支,在本地开发完一部分后commit到master,有冲突及时解决。理念是因为解决大冲突很痛苦,所以要经常解决小冲突,永远保证master代码是可发布的状态,小步迭代,快速交付。事实上这个理念相当理想,基本不可能实现。
    这个是建立在每个研发的代码质量很高,并且可以自觉且完整地测试,以保证0 bug commit到master,或有全面的回归测试,才能保证master代码永远是可发布状态。
    在初创公司,如果你用SVN,千万不要作这个死。如果你这么用的话,经常会发现,master代码都是半成品或充满bug,这时候如果有高优需求或hotfix,只能各种翻svn log,退回分支开发。

  2. 分支开发
    分支开发会更常见些,每次新迭代开始,或有新功能开发时,都从master上拉出一个开发分支,相当于全量拷贝一份代码到新分支上。
    在新分支上进行开发,开发完之后,可以直接将这个分支发布到生产环境,也可以将代码合并到Master,然后发布master到生产环境。
    当然,我们强烈建议先把分支代码合并到master,再发布master代码,通过流程强制约束master代码永远是最新的。如果有多个分支并行开发,合并代码的时候可能会比较痛苦,要去解决冲突。
    基本这么做的话,也不会有什么大问题。除了开分支的时候全量拷贝比较蛋疼。

Git分支管理

Git,是大神linus继linux内核之后的又一神级的产品。在理念上领先svn一个时代。详细可以从网上看svn,git的对比。对我而言,git和svn的不同,主要表现在

  1. svn是集中式的,只有一个中心。而git是分布式的,每个人都可以有全量的代码。从命令上就可以体现出来,svn checkout V.S. git clone
  2. svn创建新分支是从master拷贝全量的文件到新branch,git是增量的。所以同时开10个分支,svn的源文件会变成10份,而git不会。

实际使用中,可以采用git-flow的方式,将各类branch细化使用。主要分这么几类分支

  1. master
  2. release
  3. dev-branch
  4. hotfix

详情可以参考阮一峰-Git 工作流程,不展开了。

生产环境的版本管理

工程的运维规范化

统一目录结构

统一启停控制脚本

统一maven仓库

多环境下多套配置文件

统一编译脚本

相关文章

  • 初创公司代码管理与运维规范化

    前言 没有什么规则是完全正确的,但如果没有大家统一认可的规则,各自为战,事情将会变成一团糟。 代码仓库与分支管理 ...

  • 初创公司谁来当你们的运维

    运维,哎,多么沉重的话题,初创公司的运维,哎,还能愉快的聊天吗? 初创公司的运维,如今其实兼技术支持、系统管理员(...

  • 初创型公司运维专题

    持续部署系列 初创型公司-持续部署系列(一)服务架构 初创型公司-持续部署系列(二)部署web站点 初创型公司-持...

  • 运维思索:运维规范如何生成?

    运维框架 运维思考:运维管理与运维自动化[http://mp.weixin.qq.com/s?__biz=MzA4...

  • 公司管理

    代码管理:gitlab bug管理: jira 禅道 redmine 运维管理: docker docker私有仓...

  • Devops工具

    Devops运维管理工具: 代码管理(SCM):GitHub、GitLab、BitBucket、SubVersio...

  • 架构师研发管理目录

    需求(范围)管理 知识(文档)管理 代码管理 配置管理 变更管理 进度管理 质量管理 运维管理 安全管理 风险管理...

  • 闲话IT运维-什么是IT运维?

    说起IT运维,不同的人有不同的理解,有的人认为IT运维就是修电脑、看机房的;有些人认为IT运维是负责公司服务器管理...

  • 广通软件最佳实践:“互联网+”时代下的石油石化行业运维管理解决方

    运维管理平台建设方案研究 “工欲善其事,必先利其器”,运维管理体系的落地需要一个强有力的运维管理平台的支撑。运维管...

  • 运维技术栈

    Linux系统运维与架构设计技术栈 Linux系统基础入门 Linux系统概述与运维环境搭建 Linux系统管理 ...

网友评论

      本文标题:初创公司代码管理与运维规范化

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