使用svn做版本控制服务器,其实还是比较方便的,不管是从搭建还是配置上,相对于git,都要简单很多。
Linux如何搭建SVN服务器,请移步《Centos7安装SVN》
今天大概说一下,如何配置svn,能在你提交之后,服务器自动更新,这就很方便了。不需要再去服务器手动更新了啊
其实在本地还好,代码改完了,直接使用tortoisesvn(小乌龟)来进行提交就可以了,这个还是比较方便的,也不需要输入密码之类的。
但是每次在本地提交完,还需要在服务器上进行代码更新,让服务器的代码更新到最新版本,但是这一步我需要到服务器上执行命令进行手动更新代码
这就有点麻烦了。
svn的自动更新配置其实跟git类似,也不知道他俩是谁模仿谁,关于git自动更新代码配置,请移步《linux服务器搭建git并配置秘钥及服务器端自动更新》
可以编写一个 post-commit 钩子脚本来实现服务器端代码的自动更新,它在 SVN 每次 svn commit 之后运行。
服务器端 SVN 版本仓库中,有一个 hooks 文件夹:
进入 hooks 文件夹,创建一个文件 post-commit
bash
复制代码
#!/bin/sh REPOS="$1" REV="$2" export.UTF-8 SVN_PATH=/usr/bin WEB_PATH=你的网站目录 SVN_USER=你的svn用户名 SVN_PASS=你的svn密码 LOG_PATH=/tmp/svn.log echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH echo `whoami`,$REPOS,$REV >> $LOG_PATH $SVN_PATH/svn update $WEB_PATH --username $SVN_USER --password $SVN_PASS --no-auth-cache >> $LOG_PATH exit 0
保存退出,就可以实现服务器端代码自动更新了。
最后,一定要注意,post-commit 需要有执行权限。
所以,需要给他附执行的权限,实在整不明白,就直接777就好了。
正常,应该就好用了。
如果还是不行,大概率还是权限的问题,当然也有可能不是,我没有遇到,如果你遇到了,请在下方留言,分享一下你的经历。
欢迎访问个人博客 guanchao.site
欢迎访问我的小程序:打开微信->发现->小程序->搜索“时间里的”