svn 部署和使用

来源:互联网 发布:历年总决赛mvp平均数据 编辑:程序博客网 时间:2024/05/18 03:38

此处不讨论svn和git的优劣,目的只有一个,使用svn搭建开发、测试、生产环境, 使用svn进行代码的管理和发布,并探索基于svn的工作流。

文章将会介绍一下内容:

  • 搭建开发、测试、生产环境
  • 一个简单的开发、测试、线上部署例子

1、 搭建开发、测试、生产环境

1.1、安装svn服务器

sudo yum install subversion

从镜像下载安装svn服务器端
中间会提示是否ok,输入y,确认
安装成功提示:…..complete!

1.2、创建项目源码仓库

cd /usr/local/sudo mkdir svnRepo  #创建svn仓库目录sudo chmod 777 -R svnRepo/ #修改仓库权限svnadmin create /usr/local/svnRepo/first  #创建项目仓库目录,名字随便取

1.2.1、修改配置文件

每个svn项目仓库都有三个配置文件:conf/authz、conf/passwd conf/svnserve.conf

cd svnRepo/first/conf/

(1) svnserve.conf //配置版本库信息和用户文件和用户密码文件的路径、版本库路径

anon-access = none       #默认是只读readauth-access = write      #认证后有写入权限password-db = passwd     #帐号密码配置文件authz-db = authz         #权限配置文件realm = first            #生效范围 改成自己的项目版本库名

(2) passwd //创建或修改用户密码

[users] aa= 123456    //用户名 = 密码  bb= 123456    //。。。 

(3) authz //文件,创建svn组和组用户的权限

[group]  first = aa,bb      //创建一个first的组,并制定两个用户aa和bb[/]                   //制定根目录下的权限 @first = rw           //first组用户权限为读写  # tom具有读写权限#tom= rw

不要使用 *= r,不知为何,就是报错

1.3、启动项目版本库

项目的版本仓库准备好之后就可以启动了,这样svn客户端才可能连接仓库并进行相应的操作。

svn服务根目录
如下,当前svnRepo目录有两个svn项目仓库:

-bash-4.2$ pwd/usr/local/svnRepo-bash-4.2$ lltotal 8drwxr-xr-x 6 hjs root 4096 Jul  2 12:46 firstdrwxr-xr-x 6 hjs root 4096 Jul  2 14:27 second

以svnRepo作为服务根目录启动svn服务:

svnserve -d -r /usr/local/svnRepo/

svn客户端资源路径:

svn co svn://IP地址/first  #checkout first仓库svn co svn://IP地址/second  #checkout second仓库

svn服务和http网页服务一样,因为上述svnserve -d -r /usr/local/svnRepo/以svnRepo作为服务器根目录,因此客户端访问资源的时候就是从svnRepo开始,比如checkout first项目代码就是svn co svn://IP地址/first

经常听到有的博客说什么单版本库启动、多版本库启动的,还说-r是区别,那是错误的,-d是以后台进程运行,-r是指定svn服务器的根目录!具体可以执行svnserve --help

1.3、编写post-comit脚本

#!/bin/shREPOS="$1"  #项目仓库的绝对地址REV="$2"  #第n次提交中的nexport PATH="/usr/local/svn/bin:$PATH"  #由于代码是apache的进程用户www运行,所以需要设置环境变量 export LANG=zh_CN.UTF-8 #测试脚本#echo ${1}" " ${2} 'hello woeld \n' >> /home/aa/test/post-commit.log#脚本开始

2、一个简单的开发、测试、线上部署例子

参考资料:
http://www.cnblogs.com/mitang/p/4309762.html
http://www.open-open.com/lib/view/open1376871583553.html

原创粉丝点击