你好,用vss或svn管理软件代码,几个人合作开发一个项目,如何做到项目所有代码只掌握在一个项目主管手上
也解决这个问题,需要分三步:
1、在规划源码目录结构的时候,尽量将每个开发人员所负责的文件夹分开,尽量避免多个人修改同一个文件夹下的内容。
2、在SVN权限设置上,设置为每个开发人员只拥有自己所负责文件夹的读写权限,对其他人负责的文件夹不给任何权限,项目主管拥有所有文件夹的读写权限。
3、实现源码的自动编译、部署到测试服务器上,也就是说可以在需要测试的时候,自动将最新版的代码编译后发布到测试服务器上,而不需要开发人员拿到所有的代码自己去编译部署。
其中第1、2步相对比较简单,难在第3步。实现第3步关键是要改变测试习惯,需要将开发环境和测试环境分离,一般要有一台测试服务器(可以考虑直接搭建在SVN服务器所在的主机上),要测试时就通过某种方式将最新代码编译后部署到测试服务器上,而不能是开发人员用自己的电脑来做测试服务器。
具体有多种方式,比如大名鼎鼎的开源软件hudson就是用来干这个的,用于实现系统的自动编译、部署。
如果想简单处理的话,可以用SVN的post-commit钩子实现,这个钩子存放于SVN服务器端的hooks文件夹下,每次成功commit后都会自动触发执行。你可以自己编辑这个钩子的脚本内容,每次commit后将所有代码checkout或update到测试服务器上,并调用编译工具进行编译,最后部署到测试环境。
上面描述的只是一个简单思路,如果要完善解决的话,必然涉及到版本库的日常管理,需要区分出开发库、测试库,这必然要用到SVN的分支/标记功能,你可以看看我的百度文库,有篇在windows下使用SVN的PPT,其中关于分支的那几页可能会对你有些启发。
0条评论