欢迎光临
我们一直在努力

linux配置SVN管理以及配置钩子来实现本地代码与服务器代码同步即线上开发。

  • 未安装svn服务端的朋友执行以下命令
//yum安装svn
yum install subversion
//查看svn安装目录
rpm -ql subversion
  • 创建SVN数据目录,并启动svn指向数据目录
mkdir /data/svndata
//启动svn
svnserve -d -r /data/svndata
//关闭svn
killall svnserve
  • 创建SVN版本库
svnadmin create /data/svndata/xxx
接着会看到/data/svndata/xxx下会有四个文件夹如图
svn

svn

  • 修改配置文件conf下有三个文件分别是authz/passwd/svnserve.conf
  • authz代码示例
[aliases]
Average
[/]
#admin用户的权限
@admin=rw
[groups]
#svn用户
admin = user1,user2
  • passwd代码示例
user1 =888
 user2=888
  • svnserve.conf代码示例(可以不用修改
[general]
 anon-access = none
 auth-access = write
 password-db = passwd
 [sasl]
  • 配置完成以后重启SVN,接着进行钩子的一些设置,找到/data/svndata/xxx/hocks/post-commit.tmpl去除tmpl后缀文件为post-commit添加以下代码
#!/bin/sh
 REPOS="$1"
 REV="$2"
 export LANG=en_US.UTF-8
 svn up /home/wwwroot/xxx/custom --username user1 --password 888
 svn up /home/wwwroot/xxx/app/b2c --username user1 --password 888
 svn up /home/wwwroot/xxx/public/app/b2c/statics --username user1 --password 888
  • 保存后用svn执行以下命令,这个命令必须执行,否则钩子不会生效
//检出到网站
svn co --username user --password 888 svn://www.xxx.com/xxx/custom  /home/wwwroot/xxx/custom
//更新网站目录
svn up /home/wwwroot/xxx/custom --username user --password 888

//检出到网站
svn co --username user --password 888 svn://www.xxx.com/xxx/app/b2c  /home/wwwroot/xxx/app/b2c
//更新网站目录
svn up /home/wwwroot/xxx/app/b2c --username user --password 888
  • 执行完上边命令后重启svn
killall svnserve
svnserve -d -r /data/svndata/
  • 接着在本机安装svn,检出到本机,然后把代码放进svn目录,接着提交即可,若报255错误,post-commit文件给可执行权限即可
  • 本机提交svn目录之前,要保证网站的目录不能有同样的文件,否则会提交失败。
  • 扩展阅读:linux删除本目录下.svn文件
find . -type d -iname ".svn" -exec rm -rf {} \;

未经允许不得转载:PHP之窗 » linux配置SVN管理以及配置钩子来实现本地代码与服务器代码同步即线上开发。

分享到:更多 ()

评论 抢沙发

  • (必填)
  • 9 + 14 = ?(必填)

产品与解决方案,顶尖的服务!!

联系我们