一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

使用钩子 post-commit触发同步代码

时间:2016-09-02 编辑:简简单单 来源:一聚教程网

post-commit是在版本提交之后处理一些动作

1,安装svn

yum install subversion

2,创建版本库目录

svnadmin create /svn/svndate/web1

3,修配置文件

 sed -i  's/# anon-access = read/anon-access = none/g' svnserve.conf.bak
 sed -i  's/# password-db = passwd/password-db = passwd/g' svnserve.conf.bak
 sed -i  's/# auth-access = write/auth-access = write/g' svnserve.conf.bak
 sed -i  's/# realm = My First Repository/realm = web1/g' svnserve.conf.bak
 sed -i  's/# authz-db = authz/authz-db = authz/g' svnserve.conf.bak

4,添加账户密码文件

echo mark1 mark1 >>passwd

5,修改权限

cat >>authz< admin = mark,mark1
[web1:/]
@admin = rw
* = r
EOF

启动

svnserver -d -r /svn/svndate
输入用户密码即可

 

 

6,将web1拉取到svnserver的svnupdate中,rsync会从server本地推送到远端

svn co svn://10.10.233.19/web1/ /svnupdate/ --username=mark1 --password=mark1

7,进入web1 hooks中添加脚本,当web1有更新则会自动rsync到远程服务器节点

vim post-commit

#!/bin/bash
# www.111com.net
#this post-commit
IP=10.10.238.94
REPOS="$1"
REV="$2"
export LC_CTYPE="en_US.UTF-8"
export LC_ALL=
#export LANG=en_US.UTF-8
LOGPATH="/app/log"
[ ! -d ${LOGPATH} ] && mkdir ${LOGPATH} -p
#update content from svn
SVN=/usr/bin/svn
$SVN update /svnupdate --username mark1 --password mark1
if [ $? -eq 0 ]
 then
         /usr/bin/rsync -az --delete /svnupdate/ root@$IP:/var/www/html
fi

修改权限

chmod +700 post-commit

热门栏目