资讯专栏INFORMATION COLUMN

JAVA团队开发手册 - 2.代码管理

he_xd / 2261人阅读

摘要:人多的团队可能担心的拉代码慢的问题,对于以前做手机的团队的确需要担心一下,动不动的代码。自动化发布每天下午四点会自动化发布一个版本给测试进行回归保证出现重大问题的及时回退。

工具选择

代码管理用什么工具好,有人喜欢git,不过git有个小小的缺点,就是对UI使用的大文件支持不太好,比如PSD文档,PNG文档等等。

作为windows下的佛系程序员,我还是保守一点,团队使用SVN。

如果有两个工具都差不多,选择最适合你的那个,或者说,选择团队里面会的人最多的那个。

为什么,节省时间成本。

这并不是说不能使用git和github, 该用你还是用。

只是在团队中我们首选了svn, 方便大文件的存储。

工具选择哪个,主要还是看整个团队。

搭建环境

服务器端我们使用visualsvn server.

开源免费,然后权限控制挺棒的。

有钱的话可以购买一台腾讯的windows云服务器,放在外网部署。

如果担心代码安全问题,可以购买一台本地机器,然后把IP映射出去。

人多的团队可能担心SVN的拉代码慢的问题,对于以前做手机的MTK团队的确需要担心一下,动不动1-2G的代码。

对JAVA web团队,这个不用太担心,除非你的网络非常差,那得考虑让老板加下带宽了。

如果老板不愿意,你可以算一下拉代码等待的时间X每个人的小时工资。

绝对大于带宽的钱。

作为互联网开发团队,有两样钱不能省,一个是开发机的配置,一个就是网络带宽。

太慢不光影响效率,还影响开发心情。

文件夹规划

在我们团队中的经验是拆分为3个大的仓库,一个代码,一个文档,一个发布。
也就是code,doc

code我们需要建立分支,以便在发布和开发子功能的时候拉取分支。

其它的比如人力资源行政(hr),运维(devops)也拆分出来成为独立的仓库。

代码(code):

下面用来存放各个项目的代码,按项目名称进行划分。
比如你有一个oa项目,有一个user项目(用户中心).
我们可以这样子进行存放。
oa
user

文件夹中看项目拆分程度,进行子项目的命名。

1.user是一个整体项目,没有做前后端分离,只有一个web项目。
我们可以写成
user-web。
2.oa是一个前后端分离的项目,分为PC,手机两个前端项目,一个api项目。
那我们可以写成
oa-api
oa-web-pc
oa-web-mb

文档(doc):

文档也是按照项目进行划分。
之所以文档多带带分离,主要还是权限控制的问题,代码一般不能被产品和UI拿到的,但是文档是大家都要看的,分离以后权限控制相对简单一点


还是假设有两个项目oa和user.
oa下面有
task(各种需求和任务,为什么用task,这个单词好记,简单)
ui(原型和ui设计就放这个里面了)
test(各种测试用例和测试报告就放这里面了)
lab(项目的衍生品做各种小实验的小工程文档,都可以丢这个里面)

user下面呢,同样是这些文件夹

hr和devops

hr和devops就不用太介绍了,大家自己想怎么放就怎么放

devops里面有一个要介绍的
需要有一个项目规划表
比如oa-api 用什么端口,放哪台服务器

版本发布 RC版本发布

RC版本发布就是从主干上拉取测试过的代码,创建一个分支,进行发布。

拿oa为例,我们可以创建分支 rc-oa-1.00.0106 表示是1.00版本,2018年1月6号发布的。

正式版本发布

正式版本就不用特别拉取分支了,因为我们RC上线,测试通过了,就是直接发布到正式了。

个别公司还有uat环境,但是对于小公司单应用快速迭代,RC已经够用了。

就算是uat环境,也是直接拉取rc, 只是配置的启动参数不一样。

子功能添加

一般小的模块,可以直接在主干上进行开发,这没有太大的问题。

如果有影响很大的模块,建议创建一个分支 task-xxxx-oa-1.00.0106 这个样子。

在分支上开发完成以后,再通过打patch包合并到我们的主干上来。

迭代周期

一般每一周,每个人保持2-3个功能的开发上线,是比较合理的。

大的功能点耗费的时间长一点,这个时候可以考虑创建分支。

我们一般周三下午就准备RC上线,周四RC测试一天,周四下午发正式服务器。

周五规划好下周功能,并讨论需求。

自动化发布

每天下午四点会自动化发布一个版本给测试进行回归.
保证出现重大问题的及时回退。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/68169.html

相关文章

  • JAVA团队开发手册 - 1.环境搭建

    摘要:团队开发手册环境搭建写在前面所有公司最核心的根本就是赚钱实现老板的梦想。比如对小的公司最大的问题就是人员有限,一旦核心员工跳槽,如何招聘员工以及新来员工如何快速融入团队进行开发的问题。 JAVA团队开发手册 - 1.环境搭建 写在前面 所有公司最核心的根本就是赚钱 + 实现老板的梦想。 对于IT类技术型公司,最大的成本就是人,可以称之为知识型劳动密集型企业。 对比房地产,模糊的说,产品...

    Jason_Geng 评论0 收藏0
  • JAVA团队开发手册 - 3. 开发流程

    摘要:开发流程对于一个项目,最大的问题就是如何拆解为任务,分配到合适的人手里,并在有限的时间内完成它。但是我们把整个项目进行拆解的话,每个星期进行统计分析,就可以对症下药,提高开发效率。 开发流程 对于一个项目,最大的问题就是如何拆解为任务,分配到合适的人手里,并在有限的时间内完成它。 就像做建筑工程一样,其实做IT也是可以量化的,可能有的人砌砖砌得慢一些,有的人快一些。 但是我们把整个项目...

    魏宪会 评论0 收藏0
  • 《阿里巴巴Android开发手册》正式发布,献给移动开发者的新年礼物

    摘要:关于认证考试手册发布之际,阿里巴巴开发规范认证考试也同步上线,通过在线考试,检测你对手册中开发规范的掌握程度,并发放官方认证证书。认证考试致谢阿里巴巴开发规范能够成册,离不开集团内移动开发工程师的大力支持,在此感谢大家的无私奉献和付出。 春节余味尚未消,我们为移动开发者准备了一份迟到的新年礼物——《阿里巴巴Android开发手册》,继《阿里巴巴Java开发手册》之后,阿里巴巴开发规范家...

    Vixb 评论0 收藏0
  • 新增16条设计规约!阿里巴巴Java开发手册(详尽版)开放下载!

    摘要:熟悉和遵守阿里巴巴开发手册的编程风格,那只是标,而代码可读性的本可以追溯到软件设计阶段。何为条设计规约是根据阿里巴巴实际项目架构经验提炼而成,共条。本次新增的不单是条新的设计规约,还是千万阿里人的技术之心。 摘要:2018年6月,《阿里巴巴Java开发手册》再次刷新代码规范认知,我们新增了16条设计规约!现免费开放下载,不可错过!《阿里巴巴Java开发手册》是阿里内部Java工程师所遵...

    _ang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<