最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
使用钩子 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<
[web1:/]
@admin = rw
* = r
EOF
启动
svnserver -d -r /svn/svndate
输入用户密码即可
![](https://img.111com.net/get_pic/2016/09/02/image57c9838f5a64c7.69987463.jpg)
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
-
上一个: Docker本地仓库简单使用一些例子
相关文章
- 有道云笔记同步失败如何解决 06-01
- 在 Twisted Web 中调用同步方法 08-31
- 详解Java传统线程同步通信技术 11-17
- golang sync.WaitGroup解决goroutine同步 11-12
- Galaxy S4如何通过Kies将联系人与Outlook同步 10-18
- I9300/GT-I9308如何通过Kies同步outlook中的联系人 05-05