Ubuntu14.04安装svn设置post-commit钩子-创新互联

1、介绍

成都创新互联公司2013年至今,先为清河等服务建站,清河等地企业,进行企业商务咨询服务。为清河企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

Subversion是一个自由,开源的版本控制系统,这个版本库就像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。这样就可以很方面恢复到以前的版本,并可以查看数据更改细节。目前,Subversion已成为主流的开源代码版本管理软件之一,简称SVN。

2、SVN相关命令了解

svn:命令行客户端

svnadmin:用来创建、调整或修复版本库的工具

svnserve:svn服务程序

svndumpfilter:过滤svn版本库转储数据流的工具

svnsync:svn数据同步工具,实现另外存一份相同的

svnlook:用来查看办本科中不同的修订版和事务

3、两种运行模式

3.1 利用svnserve作为独立服务运行,通过svn协议访问

3.2 借助mod_dev_svn模块,由apache服务运行(Web/DAV),通过http或https协议访问。想了解此运行模式可以参考着篇博文:http://lizhenliang.blog.51cto.com/7876557/1340646

4、安装与部署

对于Ubuntu来说,装个SVN是件很容易的事,可以直接通过apt软件包管理安装。

  4.1 直接安装

# sudo apt-get install subversion

  4.1 创建版本库

# sudo mkdir –p /srv/svn/eweb

# sudo svnadmin create /srv/svn/eweb

  4.2 了解版本库

# 进入版本库查看生成的相关文件

# ls /srv/svn/eweb

conf  db  format  hooks locks  README.txt

 # 我们主要关心的是conf和db文件,conf文件夹下是存放主配置文件和用户、权限位置,db文件夹是存放svn转储后的数据。

 # ls /srv/svn/eweb/conf

 authz  passwd  svnserve.conf

 # authz文件是设置用户权限,passwd文件是存储用户及密码,svnserve.conf是主配置文件,先配置主配置文件。

  4.3配置版本库

# sudo vi svnserve.conf  #将以下参数去掉注释(要顶格)

[general]

anon-access = none    #匿名访问权限,默认read,none为不允许访问

auth-access = write   #认证用户权限

password-db = passwd #用户信息存放文件,默认在版本库/conf下面,也可以绝对路径指定位置

authz-db = authz

# sudo vi passwd     #格式是用户名=密码,采用明文密码

[users]

xiaoming = 123

zhangsan = 123

lisi = 123

zhangchengjie = zhangchengjie@!2016

# sudo vi authz

[groups]           #定义组的用户

manager = xiaoming

php = zhangsan,lisi,zhangchengjie

[eweb:/]          #以根目录起始的eweb版本库manager组为读写权限

@manager = rw

[eweb:/media]     #php组对eweb版本库下media目录为读写权限

@php = rw

  4.4 启动svn服务

 # sudo svnserve -d -r /srv/svn --listen-port 21321Ubuntu14.04安装svn设置post-commit钩子

  4.5关闭svn服务

  #sudo pkill svnserve

5.创建web访问目录

  #mkdir -p /var/www/eweb 我的web在这里根据自己机器环境定

  5.1设置钩子post-commit

  #sudo cp /srv/svn/eweb/hooks/post-commit.tmpl /srv/svn/eweb/hooks/post-commit

  #sudo vim /srv/svn/eweb/hooks/post-commit

  添加如下内容

  export LANG="en_US.UTF-8"

  SVN=/usr/bin/svn 

  WEB=/var/www/eweb

  $SVN update $WEB --no-auth-cache --non-interactive --username zhangchengjie --password 'zhangchengjie@!2016'

  chown -R www:www $WEB

  chmod +x post-commit

  从新启动服务

  #sudo pkill svnserve

  #sudo svnserve -d -r /srv/svn --listen-port 21321

6.在终端下执行如下命令

  #svn co svn://127.0.0.1:21321/eweb /var/www/eweb --username zhangchengjie--password ‘zhangchengjie@!2016’

  注意:127.0.0.1/eweb是svn仓库名,/var/www/eweb是web目录,如果在password中密码使用特殊字符需要用单引号引用,否则会报错bash不解析。

7.客户端验证,写phpinfo文件通过浏览器访问测试。

Ubuntu14.04安装svn设置post-commit钩子


Ubuntu14.04安装svn设置post-commit钩子

8.为了方便以后启动关闭在sbin建立svn启动脚本

vim /sbin/svn

1 #!/bin/bash

2 #autor:boy

3 #date:2016/7/28

4 # startup/stop/restart svn services

5

6 ####### start ##############

7

8 case "$1" in

9         start)

10                 sudo svnserve -d -r /srv/svn --listen-port 21321

11         ;;

12

13         stop)

14                 sudo pkill svnserve

15         ;;

16

17         *)

18                 echo "Usage:start,stop"

19         ;;

20

21 esac

chmod 755 /sbin/svn
sudo /sbin/svn stop

sudo /sbin/svn start

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


文章名称:Ubuntu14.04安装svn设置post-commit钩子-创新互联
标题链接:http://myzitong.com/article/hjecp.html