Centos7 SVN搭建部署

Centos7 SVN搭建部署

  1. 在Linux系统中搭建svn服务所需要用到的软件叫做subversion,可以通过yum来进行安装。
  2. 安装好软件后第一件事就是创建一个仓库目录。
    [[email protected] ~]# mkdir /svn
  3. 使用svn自带命令建立仓库。
    [[email protected] ~]# svnadmin create /svn
    进入该仓库,可以看到该目录下生成了一些目录和文件
  4. 在/svn/conf下有三个配置文件
  5. 编辑svnserve.conf主配置文件,对以下几项修改如下
    [general]
    anon-access = none #禁止匿名访问
    auth-access = write #授权用户有可写权限
    password-db = passwd #指定用户密码配置文件
    authz-db = authz #指定权限配置文件
  6. 编辑passwd文件,建立svn客户端用户以及密码,一行一个。
    [users]
    格式:账号 = 密码
  7. 编辑authz文件,指定SVN仓库目录,这[/]代表根目录,以及每个用户的权限,这里均为可读可写。
    [/]
    用户1 = rw
    用户2 = rw
  8. 启动SVN服务,-d表示后台运行svn服务,-r是指定svn目录。
    svnserve –d –r /svn
  9. 执行了netstat检查端口,默认监听在3690端口上。
  10. 在Windows使用SVN服务的话,需要下载一个TortoiseSVN客户端软件,安装好软件后在本地电脑创建一个工作目录,右键该目录选择checkout,checkout就是把SVN服务器上的文件下载到本地工作目录内的操作。
    URL: svn://10.10.23.XX
    Centos7 SVN搭建部署
  11. 在对话框里输入SVN服务器的地址以及需要存放文件的目录,然后点击ok按钮,之后会要求输入用户名密码,这个时候就输入在passwd里设置的信息即可。
  12. 登录成功后便可以在该工作目录里进行编辑或创建文件,操作完成后对该目录右键,选择check commit提交,这个操作等于是上传到SVN服务器。
  13. 现在切换到Linux使用客户端测试,使用Linux的SVN命令进行checkout操作,登录后可以看到Windows上创建的文件已经出现。
    svn checkout svn://XX.XX.XX.XX/svnwork/ --username=账户 --password=密码
  14. 在Linux上创建一个文件后提交到SVN。
    [[email protected] svnwork]# svn add linux.txt #用add把新增的文件添加进去
    A linux.txt
    [[email protected] svnwork]# svn commit -m “linux test” #commit正式提交
    Adding linux.txt
    Transmitting file data .
    Committed revision 2. #版本号发生了变化。
  15. 再回到Windows上查看下,可以看到版本更新,而且还可以通过show log来查看每次文件的变动及操作人员以及文件前后发生的具体变化,到此SVN的基本操作就全部演示完毕!

钩子脚本(实时备份,要给700权限)
vim /svn/hooks/post-commit

SvnIP=“地址”
UserName=“账户”
PassWord=“密码”
LocalPath="/svnwork"
SVN=/usr/bin/svn
export LC_CTYPE=“en_US.UTF-8”
export LC_ALL=
if [ ! -d ${LocalPath} ];then
mkdir -p ${LocalPath}
SVNcheckoutsvn://SVN checkout svn://{SvnIP} LocalPathusername={LocalPath} --username={UserName} --password=${PassWord}
else
$SVN update /svnwork --username ${UserName} --password ${PassWord}
fi
if [ $? -eq 0 ];then
/usr/bin/rsync -az --delete /svnwork /BF/
fi