LINUX下SVN安装,配置,web目录同步

来源:互联网 发布:ipad淘宝卖家直播app 编辑:程序博客网 时间:2024/05/22 00:46

LINUX下SVN安装,配置,web目录同步


注:
各服务器运行环境可能有所不同,操作过程中可能出现其他问题,自行查阅资料解决
SVN的具体使用方法很多,本文档只是使用了SVN最简单的用法,感兴趣的同学可以查阅相关资料。
如果各位同学有对SVN新的补充,请更新本文档!


一、 安装subversion

1. 首先输入rpm -qa | grep subversion 查看SVN是否已经安装过

这里写图片描述

    如果输出类似如下结果,则说明已经安装:    subversion-1.6.11-7.el6.x86_64

2. 执行 yum -y install subversion 安装SVN

这里写图片描述

3. 执行 svn –version 查看安装的SVN版本

这里写图片描述

二、 建立代码仓库

    常规情况下,我们一个仓库里面会有多少个项目。所以,第一步得创建所有项目的仓库中心,如下命令:
mkdir /opt/svn/

这里写图片描述

    现在假定我们有一个项目叫 imobile ,现在我们为这个项目在仓库中心中分配一个仓库。如下命令:
svnadmin create /opt/svn/imobile/

这里写图片描述

    进入imobile目录如下 /opt/svn/imobile/

这里写图片描述

目录说明 conf: 配置文件 db: 存储数据 hooks: 脚本程序,SVN提交上来的文件检验等操作

三、 修改配置文件

1. 进入 svntest 项目仓库配置目录中

这里写图片描述

2. 修改svnserve.conf文件

这里写图片描述

    找到以下的内容,并在行首注释符号#删掉。
[general]anon-access = noneauth-access = writepassword-db = passwdauthz-db = authz

3. 为 svntest 项目增加svn用户,并且赋予权限值:

这里写图片描述

在文件中添加如下代码:

这里写图片描述

代码的意思是:为 svntest 项目添加一个imobile_001的用户,并且,这个用户对于 imobile 项目拥有读写权限。
关于方框号里面的写法有以下几种:
  • [/],表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/opt/svn,
  • [/]就是表示对全部版本库设置权限。
  • [imobile:/] 表示对版本库svntest设置权限
  • [imobile:/abc] 表示对版本库svntest中的abc项目设置权限
  • [imobile:/abc/aaa] 表示对版本库svntest中的abc项目的aaa目录设置权限

4. 给用户分配密码,执行如下命令:

这里写图片描述

这里写图片描述

四、启动svn服务和测试

1. 启动svn服务,并指定 svn 的根目录:

这里写图片描述

2. 查看svn服务是否正常启动,执行如下命令:

这里写图片描述

顺便提一下,svn的默认端口是3690。

3. 在windows系统上测试是否成功:

  1. 首先保证你的系统中已经安装了 subversion 客户端程序。如果没有安装马上下载安装,并重启windows系统。
  2. 在windows任意的目录中,创建一个文件夹,文件夹的名字任意,最好是英文名。如我的:imobile_242。
  3. 右键点击该文件夹,选择”Checkout…”,填写如下信息,点击“确定”按钮之后,会弹出一个对话框,让你输入账号密码,我们的账号是:imobile_001,密码是:123456.填写完之后,可以公告保存账号密码的选项。再点击“确定”就OK了。如图:
    这里写图片描述
  4. 点击“确定”按钮之后,会弹出一个对话框,让你输入账号密码,我们的账号是:svn001,密码是:123456.填写完之后,可以公告保存账号密码的选项。再点击“确定”就OK了。
  5. 开启自启动SVN服务器。现在我们已经配置好了svn服务器。但是,我们是通过手工通过命令启动的。如果,想每次centos 系统开启就启动这个服务的话,有以下方式可以实现。打开/etc/rc.local文件,shell命令如下,这样开机的时候就会自动启动svn服务器了。
    vi /etc/rc.local    svnserve -d -r /opt/svn/

这里写图片描述

这里写图片描述

五、 SVN提交文件自动更新到nginx的WEB目录

1. 进入WEB根目录:

这里写图片描述

2. 创建SVN仓库副本:

这里写图片描述
3. 设置svn更新后自动更新nginx的读取目录:
这里写图片描述

这里写图片描述

这里写图片描述

lc_ctype要设置的值可以使用locale查看更改文件权限为可执行:#chmod 777 post-commit

4. 同步测试:

查看web目录文件
这里写图片描述

这里写图片描述


本地创建一个文件test001.php
这里写图片描述


SVN提交文件test001.php
这里写图片描述


进入web目录查看
这里写图片描述
英文名文件同步成功


本地创建一个中文名文件
这里写图片描述

这里写图片描述


查看web目录
这里写图片描述

这里写图片描述

原创粉丝点击