Centos7 SVN搭建部署
Centos7 SVN搭建部署
- 在Linux系统中搭建svn服务所需要用到的软件叫做subversion,可以通过yum来进行安装。
- 安装好软件后第一件事就是创建一个仓库目录。
[[email protected] ~]# mkdir /svn - 使用svn自带命令建立仓库。
[[email protected] ~]# svnadmin create /svn
进入该仓库,可以看到该目录下生成了一些目录和文件 - 在/svn/conf下有三个配置文件
- 编辑svnserve.conf主配置文件,对以下几项修改如下
[general]
anon-access = none #禁止匿名访问
auth-access = write #授权用户有可写权限
password-db = passwd #指定用户密码配置文件
authz-db = authz #指定权限配置文件 - 编辑passwd文件,建立svn客户端用户以及密码,一行一个。
[users]
格式:账号 = 密码 - 编辑authz文件,指定SVN仓库目录,这[/]代表根目录,以及每个用户的权限,这里均为可读可写。
[/]
用户1 = rw
用户2 = rw - 启动SVN服务,-d表示后台运行svn服务,-r是指定svn目录。
svnserve –d –r /svn - 执行了netstat检查端口,默认监听在3690端口上。
- 在Windows使用SVN服务的话,需要下载一个TortoiseSVN客户端软件,安装好软件后在本地电脑创建一个工作目录,右键该目录选择checkout,checkout就是把SVN服务器上的文件下载到本地工作目录内的操作。
URL: svn://10.10.23.XX - 在对话框里输入SVN服务器的地址以及需要存放文件的目录,然后点击ok按钮,之后会要求输入用户名密码,这个时候就输入在passwd里设置的信息即可。
- 登录成功后便可以在该工作目录里进行编辑或创建文件,操作完成后对该目录右键,选择check commit提交,这个操作等于是上传到SVN服务器。
- 现在切换到Linux使用客户端测试,使用Linux的SVN命令进行checkout操作,登录后可以看到Windows上创建的文件已经出现。
svn checkout svn://XX.XX.XX.XX/svnwork/ --username=账户 --password=密码 - 在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. #版本号发生了变化。 - 再回到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}
{SvnIP} {UserName} --password=${PassWord}
else
$SVN update /svnwork --username ${UserName} --password ${PassWord}
fi
if [ $? -eq 0 ];then
/usr/bin/rsync -az --delete /svnwork /BF/
fi