lampp svn钩子(hooks)自动部署代码到web目录

web目录:/opt/lampp/htdocs/test
svn版本库目录:/svn/test

1.cd /svn/test/hooks 
目录下 
2.新建post-commit,执行vim post-commit 内容如下

#!/bin/sh
REPOS="$1"
REV="$2"
DIR="/opt/lampp/htdocs/test"
export LANG=en_US.UTF-8
CURDATE='date'
echo "Code Deployed By at $CURDATE,$REPOS,$REV" >> /svn/code_deploy.log
svn update $DIR --username aa --password aa123

接着

chmod 755 post-commit

3.到/opt/lampp/htdocs/下checkout项目

svn checkout svn://127.0.0.1/test/

到此步骤接受,在客服端提交代码更新就会自动同步到web目录了。 
附上svn钩子类型 
服务器钩子: 
svn服务端有9种钩子,分别是: 
A.关于锁定的2种 
a1.pre-lock 
对文件进行加锁操作之前执行该脚本 
a2.post-lock 
对文件进行加锁操作之后执行该脚本

B.关于解锁的2种 
b1.pre-unlock 
对文件进行解锁操作之前执行该脚本 
b2.post-unlock 
对文件进行解锁操作之后执行该脚本

C.关于提交的3种

c1.start-commit 
在客户端还没有向服务器提交数据之前,即还没有建立 Subversion transaction(缩写为 txn) 之前,执行执行该脚本 
c2.pre-commit 
在 Subversion transaction 完毕之后,在提交之前,执行该脚本

c3.post-commit 
在提交完成,成功创建版本之后执行该钩子,提交已经完成,不可更改,因此本脚本的返回值被忽略。

D.关于属性的2种

d1.pre-revprop-change 
在修改 revision 属性之前,执行该脚本

d2.post-revprop-change 
在修改 revision 属性之后,执行该脚本。因为修改稿已经完成,不可更改,因此本脚本的返回值被忽略(不过实际上的实现似乎是该脚本的正确执行与否影响属性修改)

客户端钩子: 
tortoise svn客户端有6中钩子,分别是: 
A.关于提交的

a1.start commit hook

a2.pre-commit hook

a3.post-commit hook

B.关于更新的

b1.start update hook

b2.pre-update hook

b3.post-update hook

svn查看日志(show log)显示时间为1970的解决方法 showlog (date message)不显示

问题:在修改文件后show log无法显示日志,上面的时间会自动在2016年和1970年间跳,而且设置不了时间。
解决方法:
1.编辑svnserve.conf,设置“anon-access=none”
2.在authz中添加 
[/]
* = 
3,清理svn的cache

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值