以admin.01h.net项目为例,仓库地址为:svn://01h.net/admin,生产环境目录为:/home/wwwroot/admin.01h.net,svn版本库目录为:/var/svn/admin。先进入svn版本库的hooks目录:
cd /var/svn/admin/hooks cp post-commit.tmpl post-commit //复制post-commit.tmpl 改名为post-commit > post-commit //清空内容 vi post-commit //编辑文件
写入以下内容:
#!/bin/sh export LANG=zh_CN.UTF-8 /usr/bin/svn update --username **** --password **** /home/wwwroot/admin.01h.net
其中第一行意思是用sh来解析这个脚本,因为各种shell的语法有细微的差别。
第二行是编码格式,这里使用的是UTF-8。
最后一行/usr/bin/svn 是svn可执行文件的路径,后半句分别是用户名、密码、和项目路径。
修改post-commit的可执行权限:
chmod 755 post-commit
进入项目目录/home/wwwroot/admin.01h.net,checkout整个项目。
cd /home/wwwroot/admin.01h.net svn co svn://01h.net/admin .