linux svn co 目录,linux自整理SVN搭建及与站点根目录实现钩子同步

一,当使用了svn版本控制系统后每个目录下都会有一个.svn目录存在,开发完当交付产品或者上传到服务器时一般要把这些目录删除。

find . -type d -name ".svn"|xargs rm -rf

二,开始搭建SVN服务

1,mkdir /www/svndata                 //建立版本库目录

svnserve -d -r /www/svndata/

2,svnadmin create /www/svndata/site              //创建一个新的Subversion项目

3,修改配置

cd /www/svndata/site/conf/

spacer.gif

39d02b69efaa8401aefd0bbac9fc7c33.png

配置允许用户访问

vi svnserve.conf

anon-access=none

auth-access=write

password-db=passwd

注:修改的文件前面不能有空格,否则启动svn server出错

配置密码文件

vim passwd

[users]

# harry = harryssecret

# sally = sallyssecret

appteam = app123

manager = manager

配置登录认证文件

vi authz

[groups]

appm = appteam,manager

[/]

@appm = rw

* = r

或者直接最后添加

[/]

appteam = rw

4,测试》》》

[root@centos6 ~]# svn co svn://localhost/site

取出版本 0。

5,实现SVN与WEB同步,可以CO一个出来,也可以直接配在仓库中

1)设置WEB服务器根目录为/usr/local/nginx/html/site(我的默认nginx目录)

2)checkout一份SVN

svn co svn://localhost/site /usr/local/nginx/html/site

修改权限为WEB用户

chown -R www:www/usr/local/nginx/html/site

3)建立同步脚本

cd /www/svndata/kaifa/hooks/

519f196dedf5ce42e05aee6e2b52334e.png

hooks(钩子)文件说明:

# start-commit 提交前触发事务

# pre-commit 提交完成前触发事务

# post-commit 提交完成时触发事务

# pre-revprop-change 版本属性修改前触发事务

# post-revprop-change 版本属性修改后触发事务

cp post-commit.tmpl post-commit

编辑post-commit,在文件最后添加以下内容

复制代码

REPOS="$1"

REV="$2"

BASEPATH=/var/www/html/kaifa

WEBPATH="$BASEPATH/"

export LANG=zh_CN.UTF-8

svn update $WEBPATH --username appteam --password app123 --no-auth-cache

echo `date`,`whoami`,$REPOS,$REV >> /www/svndata/site/hooks/svn_hook.log

增加脚本执行权限

chmod +x post-commit

最后操作是关闭服务然再打开服务:

svn服务的关闭:

killall svnserve

svn开启:

svnserve -d -r /www/svndata

测试:svn  checkout  svn://localhost/site

修改端口

svnserve -d -r 项目路径 --listen-port 21

SVN自动同步程序执行流程:

1、用户提交文件到SVN服务器,提交操作成功后触发post-commit脚本

2、在post-commit版本文件中使用php_script.php执行PHP脚本

3、在PHP脚本中通过exec系统调用更新服务器上的版本库工作副本

4、根据更新操作结果日志,对另一个SVN版本库进行对应的操作处理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值