svn服务器搭建和使用百度文库
① 你好,用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,其中关于分支的那几页可能会对你有些启发。
② 谁会用git-svn进行版本控制、就是类似svn里的checkout,import
通用方法:架设一个SVN服务器,客户端用TortoiseSVN
SVN服务器建议架设到Apache上,方便以后管理
具体的安装和使用,可以参考我的网络文库,里面有一篇项目组服务器的安装指南,还有一篇windows环境下使用SVN的操作PPT
③ 公司需要搭建一台SVN服务器,最好在win xp下搭建。要求是内网和外网都能同事访问SVN服务器,怎么做到
这个事情分成两步:
1、架设SVN服务器
2、开通外网访问
对于第一步,网上有很多的文档了,在我的网络文库里也有两篇SVN服务器的架设指导,建议安装Collabnet Subversion Edge版SVN服务器,安装配置很简单,基本装好就能用。
对于第二步,至少有两种方案:
1、架设VPN,外网通过VPN连入内网后,就和在内网完全一样了;
2、在公司的路由器上做个端口映射,将SVN服务器的访问端口(如Collabnet Subversion Edge版SVN服务器采用的是http协议,默认是80端口)映射到公司外网IP的相应端口上,这样访问公司外网IP+SVN服务端口,就等于访问公司SVN服务器。
第二步的两种方案虽然也不复杂,网上也能找到很多文档参考,但还是建议你找网络专业人员帮你配置吧。