Centos7 安装搭建SVN服务器 配置及代码同步web根目录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35164557/article/details/79474811

一丶 SVN简介

SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。(ps:百度百科抄的 可忽略)
1.准备工作
一台centos7 服务器 一台 windows客户端服务器


下面进入正题
首先我们使用rpm -qa subversion 查看centos服务器是否有安装过svn
这里写图片描述
在这里我是安装过的 所以会显示subversion-1.7.14-11.el7_4.x86_64 如果没有安装过的就什么也没有

然后我们使用yum命令安装svn

yum install subversion 

这里写图片描述
箭头处输入y
至此 svn的安装便完成了
然后我们在home文件下新建一个名为svn的文件夹
这里写图片描述

接下来使用svnadmin create /home/svn/blog
创建一个名为blog的svn版本库 ,进入blog目录 只要有以下目录就代表你的svn版本库搞好了 这里写图片描述
然后我们进入conf目录 对svn进行配置,conf 下共有三个文件 authz 是对用户权限的配置 passwd是用户和密码的设置
svnserve.conf是对使用的配置包括是否开启匿名上传 ,用户上传等(差不多就是那个意思)
这里写图片描述
首先我们对svnserve.conf 进行配置 把箭头处的两行 前的#去除 同时要注意前面不能要留空格
这里写图片描述
然后编辑passwd 文件 写上自己要设置的账号和密码 注意前边不能有空格 并且不能有 #号 否则配置无效
这里写图片描述
最后编辑authz文件给让配置的账号设置权限(其中[blog:/] 设置的用户对blog下的所有文件都有设置的权限 r代表可读权限 w代表可写权限)
这里写图片描述
这是用户的配置就完成了
接下来我们就需要开启svn svnserve -d -r /home/svn/blog 使用此命令开启svn 根据自己设置的目录自行更改
使用netstat -nltp 命令 可以看到 svn的默认端口为3690 如果你是用的是阿里云服务器的话 还需要在安全组添加该端口,否则也会造成 客户端上传代码失败具体操作我在这里就不多讲了
这里写图片描述
接下来我们就需要在客户端做测试 这里我用的是我自己的电脑 svn客户端的下载链接https://tortoisesvn.net/downloads.html 打开后根据自己电脑配置选择不同的安装包 (安装完记得重启电脑)这里安装步骤不就不说了 一直下一步就行了
这里写图片描述
重启完电脑后 右击鼠标 点击SVN checkout 下载代码
输入你的svn地址 地址请根据自己的设置自行更改
这里写图片描述
然后会弹出框让你输入你的账号和密码 输入后即可下载 服务器端的代码 你会发现文件夹里 只有一个.svn 如果没有的请将你的隐藏文件夹选项去掉这是你的svn 就搭建好了
这里写图片描述
(svn客户端简单使用 svn update 更新代码 svn commit 提交代码)

可是这并不是我们想要的效果我们需要的是在web可以直接同步访问的所以我们要设置提交到svn的 代码能同步更新到web 根目录 svn 也是可以达到这种效果的 首先我们进入 web 根目录 这里我的跟目录在 /var/www/html/ 切换到 html目录下使用 svn co svn://192.168.1.35/blog 与网站根目录建立联系 同样的跟具体提示 输入自己设置的账号和密码并 输入yes设置保存
这时我们保存在版本库的代码就会被同步到网站根目录
这里写图片描述
然后我们进入/home/svn/blog/hooks 目录
这里写图片描述
使用 cp post-commit.tmpl post-commit 将post-commit-tmpl 复制一份
然后打开 vim post-commit 清空除了第一行的所有内容并加入一下配置 保存并退出 然后给一个775权限chmod 775 post-commit
这里写图片描述

至此你的svn 服务器及配置 以及web根目录的代码同步就设置完了 如各位老铁们在搭建过程中有什么问题请在下方评论 我看到了也会给大家及时回复 .

阅读更多
换一批

没有更多推荐了,返回首页