项目管理者联盟 | 中国工程管理网 | 中国研发管理网   会员中心 资料库 博客 圈子

PMI-ACP®认证

适合敏捷开发项目
敏捷项目管理最佳实践

网络课程

PMI-PBA®认证

重视项目商业分析
商业价值与需求分析能力

网络课程

NPDP®认证

产品管理国际认证
全球产品管理最佳实践

网络课

PMP®认证

单项目管理经典指南
年轻项目经理首选

北京 | 直播 | 录播

PgMP®认证

大型复杂项目全球标准
定位高级项目管理层

网络班

PfMP®认证

链接战略与项目
实现组织资源投资回报

全球直播

软考项目管理

信息系统项目管理师
系统集成项目管理工程师

计划 | 报名 | 经验

论坛
价值源于交流与分享
会员区:
登陆ID 密  码
功能区: 公告建议 | 帖子搜索 | 管理团队 | 荣誉版主 | 帮助手册






 项目型组织  项目管理  工程项目  科技项目  项目化管理  管理软件  资格认证  职业休闲
EPM体系与流程 综合集成管理 总承包管理 IT软件开发 项目型制造 P3E/P6 PMP | PgMP 职业发展探讨
组织与人力资源 进度,范围,成本 国际工程 生物制药 专业服务 微软PROJECT IPMP | PRINCE2 管理学堂
项目管理信息化 团队建设与沟通 房地产 汽车设计开发 生活项目 PowerOn专版 软考项目管理 英语角|读书版
多项目与大项目 质量与风险 监理与咨询 手机数码 文体娱乐 注册建造师 房车吃游
PMO建设与管理 采购与合同 工程设计 项目管理硕士 闲聊版|商务版
俱乐部北京 | 大连 | 福州 | 广州 | 杭州 | 南京 | 山东 | 上海 | 深圳 | 四川 | 天津 | 武汉 | 西安 | 郑州 | 申请成立 TOP榜精华 | 最新 | 最热 | 会员

版面信息

说明:多项目与大项目管理,复杂项目管理,复合型项目管理

本版版主

nstwolf
登录:2015/6/27
次数:261
注册:2007/5/28
发帖:271

俱乐部导航

北京大连福州广州杭州
南京山东上海深圳四川
天津武汉西安郑州 

联盟·近期活动

社区热点

PgMP:交付能力与创造未来的项目管.
开放讲座|《项目组合管理与PfMP认证
开放讲座|项目组合管理与PfMP认证
开放讲座|PgMP:项目管理思维与方法
开放讲座|《项目组合管理与PfMP认证
网络讲座|《项目组合管理与个人职业
开放讲座|《项目组合管理与PfMP认证
网络直播|产品经理的四大核心技能提
如何轻松拿下PgMP?免费学习机会--.
国际项目组合经理PfMP访谈:张富贵

精彩专题

如何做好项目沟通计划

软件项目质量管理

国际工程索赔与反索赔

更多:

推荐信息

·项目经理沙龙俱乐部
·推荐项目管理公开课程
·联盟VIP会员服务
·联盟99元大课堂
·建造师课程辅导免费试听

社区圈子

集团企业生态体.
圈主:ETPPM
行业:综合应用

IT项目管理圈
圈主:simware
行业:IT软件

管理者论坛
圈主:maurice9
行业:综合应用

项目经理职业生.
圈主:zhenjm
行业:综合应用

项目管理知识宝.
圈主:wenyu2010
行业:工程设计安装

联系社区管理员

咨询电话 010-82273401/11
斑竹申请 admin@mypm.net


版权所有 © 2003-2004
京ICP证070584号 
BBS业务许可2007第353号 
最佳显示模式:1024*768像素
项目管理与PMP认证
关于多个项目代码管理的问题 [发表于 2015/3/20]
状态 开放帖 浏览量 2481   
该帖子同步发自圈子:北京项目经理俱乐部 (访问该圈子)

  在公司已经2年了,伴随着公司的成长,我手上的项目也日益增加起来,做了个小经理,带着十来个小弟,发展速度不快不慢,可是最近有点hold不住,到处寻求方法解决一些项目管理的问题,比如文档管理工具,BUG追踪工具,更完善的代码管理方案什么的...也接触过一下大公司的前辈,貌似他们好一部分是有自己公司开发的解决方案,不是完全开放性的.

  这里我主要讲一下代码吧,我怕个别网友无法理解我所描述的情况,所以我用最详细的术语来讲一下问题是怎么产生的,我是怎么一一解决的,直到哪里不好决定了

  假如我手上有项目1,其实当初是这么做的,在外网服务器上创建SVN,然后检出到本地,这里我本地称它为 项目1_online

  然后会再创建一个 项目1 的内网SVN,本地再检出,当 项目1 的功能阶段开发完毕后,测试OK,再将这段时间内的变更文件导到 项目1_online 上,然后提交 项目1_online 的文件到线上,就看到线上的变化了,一旦线上有问题,马上回滚 项目1_online .顺利的话就这样了,继续接收产品需求开发 项目1,过程中如果online发现BUG,则在online上修改代码,本地建立online的vhost测试OK再提交上线.然后这份修正代码再merge到项目1里面以使得开发主干也被修复,这是单个项目的管理情况

  后来加了项目2,它不是我们公司主要的经营项目,比如它只是一个很微型的小程序,基本上是一次性开发完成就可以,以后很少需求要去改变它或者升级的,并且由某个熟练的小弟专门负责维护它. 他开发完成后打了个zip包给我上线,于是我对付它的办法是:直接将它上传到外网服务器,解压文件改好数据库配置,建立vhost,DNS神马的... 过了几个月,确实有点修改了,他给了我一个zip升级包,解压即可,于是我又手动上传这个zip再解压...

  项目3来了,这个我觉得要建SVN,于是在外网建了它的SVN,本地检出一份.然后也像项目1一样,本地还有个 项目3,而线上的当然也叫 项目3_online,开发模式和项目1一样.如此这般,项目4,5,6,7,8....它们也陆续来了,一次又一次地配SVN,authz,passwd,挺麻烦的哦,也并非所有人都要参与到所有项目中,有的专人负责,有的几个人负责,有的全部负责.那么问题来了:这样要维护好多SVN项目感觉好麻烦. 能不能有更好的办法去管理这些东西?我能不能轻易地添加一个项目到项目列表中,然后生成代码管理地址给大家检出,可视化分配权限--拖拖选选勾勾即可而不用一次次VIM去改?因为每次为新项目配置SVN感觉麻烦,一些小项目都懒得添加了,后来又造成那些项目的更新方法不太爽,或者撤回出现的BUG又麻烦,还是迫不得已去给它配了~

  换一个思路,其实一个SVN对应一个项目是很原始的土方法了,不如变一变,一个SVN下多个项目就好了,根目录下每个子目录就是一个项目,每个项目里都有trunk,tags,branches这些,然后autz分配好权限,哪个项目是哪些人参与,那么我要新建目录就只要创建文件夹并添加到版本库即可.只是权限分配方面还是要去linux编辑文件吧~然而这样有一个缺点就是当个别项目并非部署在同一台外网服务器上时不也是要再开另一台远程服务器的SVN?对于咱们小公司来说,十来个项目两三台外网服务器,忍耐一下还是能hold住的,但大公司几百几千个项目的话不带这样玩的吧!

  我到处找了找方案,发现有个持续集成管理软件的概念,昨天我安装了Jenkins试了一下,它能定时将我输入的一个版本库代码检出来并记下日志.到这里我只见到它能为我做定时更新而已.然后继续看着教程做下去,追加了一个free-style的节点是after第一个项目build之后来执行的,它是执行一些批量命令的.这些命令里好像就是应该编写单元测试的脚本和代码上线的脚本.至少这时候我已经意识到如果能写自己的命令的话,意味着我可以用这些命令自定义操作,比如将这个项目发布到指定的服务器上.它支持bat和shell命令,虽然我主要在windows下工作但不会bat,但这些当然是能学习一下就能搞定的事情.(另外很多关于Jenkins的教程都是拿JAVA项目做例子的,没有拿PHP做完整例子的,再者那个Ant我也不会,不知道它能不能构建php项目!)

  到这里为止我好像初步找到了一个答案,当我怀揣着这个答案问一些前辈的时候他们都说太高大上了吧,都是一个个SVN或者其它方案处理的.那么难道大部分公司都不用这样的东西吗,是不是太过复杂,规模不大都不去使用它了?我怕我犯二所以专门来问一下

  然而我是这么设想的,假如使用了持续集成软件,我们的项目将会是这样一个开发运作方式:

  我在Jenkins上建立 项目1 节点,每天中午12点开始集成一次,里面配上phpunit的测试脚本(其实我还不怎么熟悉这个,但相信不难掌握,已经看了几章并实践了),这样一旦测试不通过的话我们会收到邮件,就知道这些代码因为某次的提交出现BUG了,这个嘛我相信是用SVN所不能取代的好处,当然也要安排人员认真写好一个个重要的测试用例了,把核心功能测好了,别让它不小心被牵连出BUG.然后构建完毕后发布到内网测试服务器上.其中假设所建立的项目节点是来自 svn://192.168.1.100/project1/trunk 的,我们就是基于这个主干来进行开发,但由于还没熟悉Jenkins(说了这么多次,其实大家可以将它视为一个代名词,反正就是你们所用的管理软件,有类似功能吧?),其实我也不知道它发布到内网服务器上是怎样的.是不是和我们SVN那个一模一样的文件结构,我还得花多几天学习才知道

  假设是一模一样的文件结构,那么至少可以找出A和B两个构建点之间的差异文件作为补丁打包上线.打好包后丢到项目1_online上提交就好了,如果有问题就更新到指定版本实现功能撤消(但如果涉及大规模的表结构改动可不是是撤代码那么简单,尽量把开发任务切细来,避免撤代码时数据库结构都难以恢复吧!?我是这样一个理念来做的,然而我也知道并非永远都能这么顺风顺心,总有那么一天,所上的功能涉及表结构大改但出BUG后恢复表结构会变得非常麻烦,这个目前极少可能出现的情况就先不找大家讨教方案啦).

  这是我对未来应用了持续集成软件的假想,不知道各位前辈在公司拥有多项目下是怎么处理这些问题的,你们的方案到底方便不方便,有没有什么更优秀的管理办法.能不能尽量满足我的需求:

  1.方便增删改以及汇总日志

  2.方便更新/撤回

  3.方便权限分配(权限这个好像听说Git更方便,但暂时没精力学它,摸了三章而已)

  4.方便及早发现BUG,因为偶尔会因为开发了第55个功能,测试时大概感觉没问题,但上线后不起眼的11号功能却被它牵连出BUG了~

  5.方便部署到不同的外网服务器上

  我只是在大胆试想使用各种方案后的情况会是"多么好",如果我哪里想错了,希望大家指正,分享下你的经验吧,百度上各种文章描述的都是概念,几乎没有人用实际的一个工作流程来描述解决问题的步骤,可能是本人太笨无法理解。


>>> 由论坛统一发布的广告:
楼主 帅哥约,不在线,有人找我吗?riverstone


职务 无
军衔 主帅
来自 上海市
发帖 833篇
注册 2006/5/31
PM币 63913
经验 25995点

  
!  您尚未登录,不能回复主题。    现在 登录  注册
关于联盟 | VIP会员 | 培训服务 | PMP认证 | PgMP认证 | 刊物出版 | 沙龙会议 | 人才服务 | 广告投放 | 联系我们 | 友情链接
建设运营:共创时网络
版权所有 京ICP证070584号 BBS业务许可2007第353号