以admin.01h.net项目为例,仓库地址为:svn://01h.net/admin,生产环境目录为:/home/wwwroot/admin.01h.net,svn版本库目录为:/var/svn/admin。先进入svn版本库的hooks目录:
1 2 3 4 | cd /var/svn/admin/hooks cp post-commit.tmpl post-commit // 复制post-commit.tmpl 改名为post-commit > post-commit // 清空内容 vi post-commit // 编辑文件 |
写入以下内容:
1 2 3 | #!/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的可执行权限:
1 | chmod 755 post-commit |
进入项目目录/home/wwwroot/admin.01h.net,checkout整个项目。
1 2 | cd /home/wwwroot/admin .01h.net svn co svn: //01h .net /admin . |