手记

svn钩子自动更新代码到代码库

svn钩子自动更新代码到代码库

例子:服务器svn路径 /opt/svn/zixun/

第一步添加用户和密码

/opt/svn/zixun/conf/authz 文件中添加用户

  • 格式: 用户 = rw(读写权限)

  • /opt/svn/zixun/conf/authz 文件中添加用户密码

格式:用户 = 123456(密码)

第二步钩子文件操作

进入钩子目录:

1. cd /opt/svn/zixun/hooks/post-commit

创建钩子文件post-commit并备份文件

2. cp post-commit.tmpl post-commit

3. 钩子post-commit文件内容创建 通过vim post-commit

把一下内容根据自己实际需求写入post-commit文件

export LANG=zh_CN.UTF-8

(这句话比较重要,如果客户端跟服务器编码不一样会出现同步失败)

SVN_PATH=/usr/bin/svn

代表你的svn服务文件地址 如果是通过yum安装的话,或者已经注册了svn服务,则可以直接使用svn,不需要输入全路径)

WEB_PATH=/usr/local/xxx/xxx

你的web目录(将要同步过去的web项目路径)

LOG_PATH=/tmp/svn_update.log

同步代码记录日志

echo whoami,REPOS,REPOS,REV >> $LOG_PATH

$SVN_PATH update --username colin --password colin88 $WEB_PATH --no-auth-cache >> $LOG_PATH

4. 设置脚本所属用户组,www为web服务运行账户和组

chown www:www post-commit

5.添加脚本执行权限

chmod +x post-commit

第三步重启svn

开启svn服务

先kill掉svn ps -ef|grep svn

根据查到的进程号直接删除

svnserve -d -r /opt/svn/

第四步 初始化服务器代码库

1. 进入空白代码库路径

cd /usr/local/xxx/xxx

2.初始化代码

(完成)

0人推荐
随时随地看视频
慕课网APP