今天部署了一下SVN 服务器,开始我是按照RUBY COOKBOOK上面介绍的部署的
在服务器上运行OK,但是一旦想远程下载,失败
原因: 远程的SVN CO 代码主要可以通过三种方式 1、svnserve 2、svn + ssh 3、apache ,而我在服务器上所做的三个都不是。所以不能远程checkout代码
解决方案: 我采用了简单的svn server
第一步:创建svn serve的repo
mkdir -p /home/server/xiaofeng
cd /home/server/xiaofeng/
svnadmin create opengoss_wiki
第二步: 导入项目代码:(将你的工程项目 导入到 你刚才创建的svn 目录下)
svn import -m 'opengoss_wiki' /home/server/xiaofeng/wiki_opengoss/
file:///home/server/xiaofeng/opengoss_wiki --force-log
第三步: 创建svn服务器
首先确定 repo 在本机上的储存的位置,比如我准备把 repo 放在 D:\svnprojetcs\ 下,那么在命令行运行 svnserve -d -r d:\svnprojects 就可以了。其中 -d 参数让 svnserve 运行在后台,-r 参数限定了 repo 在网络上可以访问的地址。 这样如果网络上其它的计算机要 checkout 这个服务器,只需要输入
/usr/bin/svnserve -d -r /home/server/xiaofeng/
就是将我们的repo创建的svn服务器中,远程可以通过这个svn服务器checkout代码
第四步:修尬 conf/svnserve的配置文件
project1 目录下有一堆目录,进入 conf 并打开 svnserve.conf 这个文件,找到以下几行,并把前面的注解符号 ‘#’ 去掉,注意千万在每行的前面别留任何空格 。
anon-access = read
auth-access = write
password-db = passwd
其中 anon-access 和 auth-access 分别为匿名和有权限用户的权限,默认给匿名用户只读的权限,这很好,我们不需要改它们。但如果想拒绝匿名用户的访问,只需把
read 改成 none
就能达到目的。password-db 后的 passwd 则为定义用户名及密码的文件路径。这个文件默认
跟
snvserve.conf 在同一个目录,下面看看怎么配置 passwd 中的内容。
[user]
# harry = harryssecret
# xiaofeng =xxxxxx
harry 和 sally 这两行分别定义了可以对 repo 进行写入的用户的用户名和密码。我们可以在下面加上自己的用户名和密码,比如
testsvn = tester
这样就给了用户 testsvn 往 repo 中写的权限。存盘退出后,svn 服务器就算正式 可以运行了!把所有需要管理的项目都放在 /home/server/xiaofeng 这个目录下
第五步:远程测试chenkout 代码
svn co svn://myserver/projectname
或者svn co svn://myserver/projectname --user xiaofeng --password xxxxxx
至此SVN 服务器部署完成