进入仓库目录的hooks,新增一个post-commit文件:
填入如下内容:
#!/bin/sh
export LANG=zh_CN.UTF-8 #(这句话比较重要,如果客户端跟服务器编码不一样会出现同步失败)
SVN_PATH=/usr/bin/svn #代表你的svn服务
WEB_PATH=/home/wwwroot/designer.321.design #你的web目录(将要同步过去的web项目路径)
LOG_PATH=/tmp/svn_update.log #同步日志
echo `whoami`,$REPOS,$REV >> $LOG_PATH
$SVN_PATH update --username hemingliang --password 123456 $WEB_PATH --no-auth-cache >> $LOG_PATH
最后一句最重要,就是本地提交自动同步线上代码的有力证据。
这个post-commit 文件要给777 的权限。
最后一步把你的代码,也就是你部署的代码,同时也是你域名指向的代码路径 ,检出到/home/wwwroot/下。
在/home/wwwroot/下执行svn 检出操作:
svn co --username hemingliang --password niu123456 svn://81.71.120.56/designer.321.design/
co 的意思就是检出的意思,他是checkout的缩写。账号秘密填你自己的。svn地址也是填你自己的。
这一步没有操作,或者直接把代码FTP传到那个目录,钩子是不会生效的。
因为你把代码检出了,所以钩子才会生效,也就是自动部署代码。