linux svn

一 建立仓库,配置svn
在Linux系统中搭建svn服务所需要用到的软件叫做subversion,可以通过yum来进行安装,如图

《linux svn》 image

安装好软件后第一件事就是创建一个仓库目录

[root@server1 ~]# mkdir /svn

使用svn自带命令建立仓库

[root@server1 ~]# svnadmin create /svn

进入该仓库,可以看到该目录下生成了一些目录和文件

《linux svn》 image

其他文件暂且不用理会,只需要对以下几个文件做编辑

《linux svn》 image

编辑svnserve.conf主配置文件,对以下几项修改如下

[general]

anon-access = none #取消匿名访问

auth-access = write #授权用户有可写权限

password-db = passwd #指定用户配置文件,后面会用到

authz-db = authz #指定权限配置文件,后面会用到

编辑passwd文件,建立svn客户端用户以及密码,一行一个,这里建立了两个用户

《linux svn》 image

编辑authz文件,指定SVN仓库目录,这[/]代表根目录,以及每个用户的权限,这里均为可读可写

《linux svn》 image

启动SVN服务,-d表示后台运行svn服务,-r是指定svn目录;然后执行了netstat检查端口,默认监听在3690端口上

《linux svn》 image

在Windows使用SVN服务的话,需要下载一个TortoiseSVN客户端软件,安装好软件后在本地电脑创建一个工作目录,右键该目录选择checkout,checkout就是把SVN服务器上的文件下载到本地工作目录内的操作

《linux svn》 image

在对话框里输入SVN服务器的地址以及需要存放文件的目录,然后点击ok按钮,之后会要求输入用户名密码,这个时候就输入在passwd里设置的信息即可

《linux svn》 image
《linux svn》 image

登录成功后便可以在该工作目录里进行编辑或创建文件,操作完成后对该目录右键,选择check commit提交,这个操作等于是上传到SVN服务器

《linux svn》 image

现在切换到Linux使用客户端测试,使用Linux的SVN命令进行checkout操作,登录后可以看到Windows上创建的文件已经出现

《linux svn》 image

svn checkout svn://192.168.36.100 /svnwork/ –username=tanglu –password=123456789

在Linux上创建一个文件后提交到SVN

[root@server1 svnwork]# svn add linux.txt #用add把新增的文件添加进去

A linux.txt

[root@server1 svnwork]# svn commit -m “linux test” #commit正式提交

Adding linux.txt

Transmitting file data .

Committed revision 2. #版本号发生了变化
二,设置钩子

我们知道要把svn的内容更新到web目录需要手动的svn up,但是今天笔者教你自动更新web目录的方法,我们要在svn版本库中配置钩子来实现,就是创建一个post-commit的配置文件,对其进行简单的配置,简简单单的四步就可以实现Linux下SVN自动更新web目录配置。

第一步:建立你的web程序目录
mkdir /var/www/html/test

进入/var/www/html/test目录。
svn checkout svn://121.14.177.178:843/svntest 不重命名文件夹,直接在当前目录下检出
svn checkout svn://121.14.177.178:843/svntest test 检出文件并且重命名文件夹

第二步:在项目库的 hooks/ 目录下新建 post-commit 文件 【钩子脚本】
添加脚本内容如下:

!/bin/sh

SVN=/usr/bin/svn #这里配置的是svn安装bin目录下的svn文件
WEB=/var/www/html/test #要更新的目录
$SVN update $WEB –username xxx –password xxx (此版本是linux下,windows下是.bat,写法少有不同)
其中SVN=右边改成 svn 命令位置
WEB=右边改成你实际的web目录
第三步:让post-commit有执行的权限 chmod 777 post-commit
第四步:这里就已经完成了,第四步就是测试了。

    原文作者:Cyneric
    原文地址: https://www.jianshu.com/p/37d191839ee6
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞