一.使用svn命令创建资源库
svnadmin create C:WebShopSvnsvn
二.对上一步骤生成的文件进行配置,包括svnserve.conf、passwd、authz 配置相关用户和权限。
1.svn服务配置文件svnserve.conf
[general] anon-access = none 当show log时日期只为1970且不能修改时,将此项设置为none便可查看 #控制非鉴权用户访问版本库的权限,取值范围为"write"、"read"和"none"。 即"write"为可读可写,"read"为只读,"none"表示无访问权限。 默认值:read auth-access = write #控制鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。 即"write"为可读可写,"read"为只读,"none"表示无访问权限。 默认值:write password-db = passwd authz-db = authz #指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。 除非指定绝对路径,否则文件位置为相对conf目录的相对路径。 默认值:authz realm = websvn #指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的 认证域相同,建议使用相同的用户名口令数据文件。 默认值:一个UUID(Universal Unique IDentifier,全局唯一标示)。
2.配置用户名口令文件passwd
[users] root = root #<用户名> = <口令> admin= admin
3.权限配置文件
[groups] #格式 <用户组> = <用户列表> svnroot = root,admin [/] #版本库路径权限格式 [<版本库名>:<路径>] @svnroot= rw
root=rw
[shop:/shop]
admin=rw
三.以多库svnserve方式启动SVN
svnserve -d -r "C:WebShopSvn" --listen-port=8099 #指定端口为8099 svn://47.99.179.186:8099/svn #连接地址
四.创建为Windows服务启动
sc create SvnService binpath= "C:ToolsSVNinsvnserve.exe --service --root C:Demo --listen-port 8089" start= auto depend= Tcpip #创建服务,名称为 SvnService #--service svnserve的命令参数,表示创建服务 #--root 指定版本库的根目录
#--listen-port 指定对应的端口
net start SvnService #启动服务 net stop SvnService #停止服务 sc delete SvnService #删除服务
五.服务端获取项目
svn checkout svn://47.99.179.186:8099/svn [服务端目录全路径] --username=root #服务端获取
六.服务端自动同步项目版本
1.在版本库的hooks文件夹下添加post-commit.bat 文件
2.post-commit.bat文件的配置如下
SET REPOS=%1 SET USER=%2 SET SVN="C:ToolsSVNinsvn.exe" #svn的安装地址 SET DIR="C:WebShopSvnsvn" #服务端checkout的路径 (call %SVN% update %DIR% --username root --password 123@qwe --no-auth-cache --non-interactive)