svn hooks使用

最近要将某个目录做samba共享出去,而想通过svn同步文档到svn,然后通过svn hooks 同步到共享目录,实现自动化

现在svn服务器和samba server再同一台机器上:

在svn路径下找到hooks目录,下面有很多脚本如下:

post-commit.tmpl post-unlock.tmpl pre-revprop-change.tmpl
post-lock.tmpl pre-commit.tmpl pre-unlock.tmpl
post-revprop-change.tmpl pre-lock.tmpl start-commit.tmpl

每个脚本都有对应的意义,在哪个阶段执行

现在用cp post-commit.tmpl post-commit

vim post-commit

#/bin/bassh
REPOS="$1"
REV="$2"
WEB_PATH="/data/svn/www"
TEST_PATH="/data/samba/testx/www.h.cn"
export LANG=zh_CN.UTF-8
CURDATE=`date`
echo "Code Deployed By at $CURDATE" > /data/logs/code_deploy_log 2>&1
/usr/local/bin/svn update --username xxx --password xxx /home/apache/htdocs/ > /data/logs/code_deploy_log 2>&1
时间: 2024-10-10 15:52:17

svn hooks使用的相关文章

设置SVN hooks实现自动发布

# CentOS下安装SVN yum -y install subversion svnserve --version cd /home/ mkdir svn cd svn/ /usr/bin/svnserve -d -r /home/svn/ # 启动SVN服务 svnadmin create /home/svn/test/ # 创建版本仓库 vi /etc/rc.local # 新增以下内容 /usr/bin/svnserve -d -r /home/svn/ # 先设置 passwd ,并

svn hooks的使用demo

svn提供了Hooks Script.所谓钩子实际上市一种时间触发机制,是指当系统执行到某个特殊的事件时,触发我们预定义的动作,可以让我们在某些特定状态发生的时候做我们想做的事. 进入一个生成的SubVersion的代码仓库,在目录下面有一个Hooks的目录,进入该目录,正常情况下,你应该看到的是下图: .tmpl都是每个hooks的模板文件,其实都是文本文件,使用vi打开后,可以看到里面的注释和详细的说明,这些是我们可以使用的第一手的帮助文件. 如上图svn服务端有9种钩子,分别是: A.关于

svn hooks 同步设置

昨天配置了一下午svn  hooks 本了很简单的一件事情,却因为 一个https弄的异常难搞. 在hooks的目录下,编辑 post_commit之后,始终无法updae,原因是,需要ssl验证主机. 在网上查看了下,用了svn ls  https://****之后,弹出需要确认,输入p,输入密码之后还是不行. 于是,我怀疑是用户的是.svn+apache  做的https协议.应该是用apache用户跑的吧. 可是apache用户我设置的是没有登陆权限的.怎么办? 只好usermod  修改

利用SVN HOOKS脚本同步服务器

内部测试服务器同时兼做SVN服务器,所以配置了SVN HOOKS的post-commit脚本,在团队成员成功提交了文件后,自动完成测试服务器的更新.步骤如下:1. cd /svnroot/hooks2. cp post-commit.tmpl post-commit3. 将post-commit的内容修改为:#!/bin/shSVN=/usr/bin/svnWEB=/var/web/$SVN up --username server --password 123456 $WEB其中,/var/w

svn hooks的post-commit(游戏自动发布)

#!/bin/sh # POST-COMMIT HOOK # # The post-commit hook is invoked after a commit.  Subversion runs # this hook by invoking a program (script, executable, binary, etc.) # named 'post-commit' (for which this file is a template) with the # following orde

使用svn hooks 脚本post-commit时遇到的故障

由于网站上线,需要把新添加功能上传到测试环境进行测试,但由于程序员每天有大量的修改,如果总是登陆服务器手动更新svn工作副本(测试环境)太耗时耗精力,进而增加svn进行commit时,测试环境即时更新的功能. post-commit脚本: #!/bin/sh REPOS="$1" REV="$2" export LANG=en_US.UTF-8 /usr/bin/svn update /data0/htdocs/xxx.xxx.xx.xxx --username u

关于svn hooks拦截设置

这边公司svn需要设置拦截请求 1 设置必须注释至少5个字符才能提交 LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c` if [ "$LOGMSG" -lt 5 ]; then    echo -e "大哥你要写点注释啊,不然不能提交." 1>&2    exit 1 fi # All checks pa

svn hooks post-commit钩子自动部署

#!/bin/sh #修改为服务编码 export LANG=zh_CN.utf-8 #Set variable REPOS="$1" REV="$2" SVN=/usr/bin/svn WEB=/home/www/develop LOG=/var/log/svn/post-commit.log #update the code from the SVN $SVN update $WEB --username username --password passwd -

svn详细介绍,独立安装配置,hooks的配置管理以及大型门户网站代码上线流程

代码发布方案: 1,安装,优化 软件环境,(nginx,lvs)  <-------运维工程师 2,程序代码(不断更新).   <--------开发工程师,(开发,运维都可以发布) 3,配置变更(不断变更).   <--------运维工程师. 一.版本控制管理工具SVN详解 1.1 什么是SVN(subversion) ? SVN是近年来非常优秀的版本管理工具,与CSV管理工具一样,SVN是一个跨平台开元版本控制系统,但是SVN与众不同的是,SVN会备份并记 录每个文件每一次的修改更