Windows下安装和部署SVN服务器且同步到Web站点的图文教程

talklee

文章最后更新时间:2022年04月19日已超过709天没有更新。

之前我们写过怎么在宝塔linux面板搭建SVN控制系统的图文教程,我感觉在linux安装会很复杂,结果按照教程操作并不是很复杂,上周我们的项目需要重新搭建一个svn,这次是在windows下安装,第一个印象就是很简单啊,毕竟都是窗口界面,而且不需要敲代码就行了,然后就报错“svn: E720005: Error resolving case of”,结果被现实狠狠的打脸,,,安装的确简单,但是安装完成之后无法同步的web站点的目录,草率了,总结下过程把问题罗列出来,免得以后又双叒叕忘记了,不废话教程开始(教程有点长,已经安装完成的,可以忽略前部分)。

SVN服务端和客户端的安装

打开VisualSVN Server软件,点击下一步:

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第1张

选择同意:

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第2张

默认即可如图:

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第3张

设置访问端口,是否启用https所以,如果需要就勾选https,本站测试未勾选:

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第4张

还是下一步,感兴趣的可以使用翻译软件看看译文:

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第5张

安装完成,如图:

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第6张

安装完成之后新建项目,如图选择第一个即可:

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第7张

安装选择第一个如图:

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第8张

设置新建项目的名称:

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第9张

选择第一个空白项目:

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第10张

这个是权限,设置每个人都有写入和读取权限,默认就行,后期可修改。

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第11张

如图,新建完成后会给出链接地址和项目基本信息:

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第12张

项目新建完成,会给出项目IP地址和自拟的端口号,接下来我们需要新建用户,设置用户名称和密码:

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第13张

设置完成后选择“Copy URL to Clipboard”第一个选选项,复制链接地址:

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第14张

项目和用户都设置完成后,项目右键选择“Copy URL to Clipboard”,翻译中文就是“将URL复制到剪贴板”,一会能用到,最后安装“TortoiseSVN”客户端,这个安装不介绍了,一直下一步就行,然后不习惯英文的可以自行安装一个语言包,文件里面有,语言包安装也是下一步就行,没什么能介绍得啦,至此服务器端的安装和部署已经完成,这个还算是简单,并不是很复杂,如果你以为教程到此结束那就大错特错了,这些教程网上都有,也不至于我费劲长篇大论了,接下来才是重点,毕竟新建完成的SVN需要跟网站站点的目录关键才行。

SVN服务器与web站点的同步

我们在服务器端,网站目录下新建一个站点,如果是宝塔新建会自动生成目录,我们在根目录下继续选择“检出(Checkout)”,检出至目录,选择右侧“...”找到站点目录,如图

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第15张

完成之后系统会提示目标文件夹非空,我们选择检出即可,会自动同步已有文件,提示检出完成。

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第16张

然后刷新文件目录就是显示一个绿色对号图标,接下来打开SVN服务端,项目右键选择“Properties

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第17张

在弹出的新窗口点击“Hooks”然后双击“Post-commit hook”如图:

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第18张

代码如下:

@echo off
SET REPOS=%1
SET REV=%2
SET DIR=%REPOS%/hooks
SET PATH=%PATH%;
SET WORKING_COPY=C:\wwwroot\ceshisvn.cn
svn update %WORKING_COPY% --username ly --password 123456

或者:

"C:\Program Files\VisualSVN Server\bin\svn.exe" update "C:\wwwroot\ceshisvn.cn" --quiet --username ly --password 123456

目录“C:\wwwroot\ceshisvn.cn”就是需要同步的站点目录,根据实际需求修改,最后的“ly”和“123456”是用户名和密码,设置完成之后,点击OK,设置之后我们会遇到错误:

post-commit hook failed (exit code 1) with output:  

svn: E720005: Error resolving case of 'E:\wwwroot\xxxx'

如图:

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第19张

只是因为原因是Visual SVN Server服务的执行权限不够,不能对指定目录做读写操作。解决办法,修改Visual SVN Server 简单操作 windown下在运行中输入“services.msc” 找到 VisualSVN server 服务,右键属性,登陆-登录身份设置本地系统账户勾选“允许服务与桌面交互”点击确认会提示SVN重启后生效,我们右键“VisualSVN server” 重新启用,如图:

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第20张

重启SVN服务后,打开SVN客户端,右键点击svn server右键,选择“Restart”完成重启。如图:

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第21张

打开网站根目录,右键选择更新,因为我们默认的站点有文件,需要提交更新,选择需要同步文件,我这里就一个文件,点击确定,如图:

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第22张

会提示我们“svn: E155004: Run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)”错误,如图:

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第23张

这时我们在空白处右键选择“Tortoise SVN”找到“清理”选项,点击,如图:

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第24张

如图,我们勾选清理副本状态、破除写锁,点击确定:

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第25张

系统提示“清理目录成功”。刷新文件都变成了绿色对号啦,但是在更新上传的时候还是会提示这个,但是不重要,毕竟我们不在服务器端操作,设置完成我们回到本机客户端,看好了是客户端,不是服务器端了。复制svn地址,然后检出目录自行设置,如图:

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第26张

确定之后就会自动同步网站的内容(宝塔新建的站点默认的文件),点击OK,如图:

Windows下安装和部署SVN服务器且同步到Web站点的图文教程 第27张

至此教程已完成,设置完成后目录已经可以同步到网站目录了,我们可以随意测试个文件,右键更新,提交即可,打开网站查看文件是否更新。至于服务器端的svn为什么还是显示锁定我也不太清楚,有知道的可以指导下,题外话,按照网上的直接“复制 hooks下的 post-commit.tmpl 模板,并修改后缀名为 .bat”然后添加同步的代码,我操作一直都提示“svn: E155007: None of the targets are working copies”失败,不晓得为什么,可能是我的姿势不对?好吧,不管他了,按照我的教程操作至少可以实现同步网站目录的,如有其他疑问留言反馈吧,谢谢!

https://www.aliyundrive.com/s/iq61466ydsw

提取码: z9r4 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。

文章版权声明:除非注明,否则均为李洋个人博客原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,5428人围观)

还没有评论,来说两句吧...

目录[+]