想请教一个公司项目版本管理的问题

2014-06-29 10:34:46 +08:00
 mantianyu
一般来说一个项目可能会包含多个软件, 比如服务器端软件, 还有手机端 app 客户端, 可能还有 pc 端的客户端软件。

这几部分应该如何去进行版本管理呢?

我们现在有一个产品,和嵌入式有关, 包含 app, 还有嵌入式设备上的软件, 我们以后还会开发更多的软件来 适配不同的嵌入式设备。 比如我们现在的嵌入式软件是跑在 avr 片子上, 以后可能还会适配 STM32, openwrt 什么的。

我们现在是这样管理的: 整个项目有一个大版本, 比如 1.0.0,我们用的是非常简单的目录管理法, 就是创建一个目录, 名字是 1.0.0, 然后把所有的相关的软件都放这个目录里。

然后项目中任何一个软件发生了改变, 比如 app 做了点更新, 从 1.0.0 到了 1.1.0, 那么我们就会把整个项目的版本也往前提一步变成 1.1.0 , 创建一个新目录, 名叫 1.1.0, 然后再把所有的软件都放进去, 但是这个时候实际上除了 app 是 1.1.0, 其他的软件都还是 1.0.0。

所以我觉得我们目前的这种管理方式不好, 想请教下大家的团队都是怎么做这部分工作的。

非常感谢~
2790 次点击
所在节点    问与答
8 条回复
fgwww
2014-06-29 10:43:28 +08:00
项目依赖关系的处理吧。不一定非得版本号一样,我们是拿cocoapods来搞的。
hitsmaxft
2014-06-29 10:52:30 +08:00
被这些项目各自分版本, 然后写个简单的编译脚本, 编译的时候把需要项目的版本代码拉到本地, 而不是固定地方.

如果你用过 maven 应该不难理解, 就是用依赖的方式使用其他项目的代码
mantianyu
2014-06-29 11:02:46 +08:00
@fgwww
@hitsmaxft 谢谢。

不过我指的不是在写某个软件时对不同的库的依赖。 我上文的 “项目” 指的是站在产品经理的角度的 “项目”。

这个项目可能涉及到 app , pc 端软件, 服务器端软件, 这几个实际上没有什么编译时的依赖关系的。
mantianyu
2014-06-29 11:04:01 +08:00
@hitsmaxft
@fgwww

我想问的问题并不是技术上的问题, 就是一个团队项目管理的问题。。。
fgwww
2014-06-29 11:13:45 +08:00
app,pc端乳癌就,服务端,他们之间的关联是通讯协议吧,那管理好通讯协议版本就好了
boogiefer
2014-06-29 11:14:06 +08:00
一个Project一个仓库,不要把server、client的代码搞到同一个仓库去了,否则更新代码、分支开发太痛苦了。

版本号用tag管理,发布1.0之前,打个tag标记版本。拷来拷去的太low了
akira
2014-06-29 12:06:33 +08:00
放一个仓库里面,用起来很不方便的啊。
我们是各个独立项目独立仓库
hitsmaxft
2014-06-29 15:25:27 +08:00
那么最好阐述下你在“产品” 这个维度的思考和问题。 你的描述只涵盖了技术层面

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/120065

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX