CentOS7.2 svn服务器搭建及钩子

第一步:通过yum命令安装svnserve,命令如下:
yum -y install subversion

若需查看svn安装位置,可以用以下命令:

rpm -ql subversion
第二步:创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)

选择在/data路径下创建版本库,当前处于根目录下,一次性创建如下:

mkdir -p /data/svn/svnrepos
第三步:创建svn版本库

在第二步建立的路径基础上,创建版本库,命令如下:

svnadmin create /data/svn/svnrepos/xxxx  (xxxx为你预期的版本库名称,可自定义)

创建成功后,进入xxx目录下

cd /data/svn/svnrepos/xxxx

进入目录,可以看见如下文件信息:

conf  db  format  hooks  locks  README.txt
第四步:配置修改

进入已经创建好的版本库目录下,也就是前文说创建的xxxx
进入conf

cd  /data/svn/svnrepos/xxxx/conf
conf目录下,一共存放三份重要的配置文件,如下:
>authz  passwd  svnserve.conf

authz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf:svn服务器配置文件

细节修改如下:(希望大家严格按照以下信息,不用参考网络上其他资料)

修改authz文件信息,如下:

vi authz
image.png

只需在末尾添加

[/]
pang = rw
phy = rw
online = rw

修改passwd文件信息

vi passwd

账号密码文件无需做修改,也是直接将账号和密码信息追加到文件中即可,注意格式为:
账号 = 密码

phy = 123456
ppp = 234567
online = 345678

修改svnserve.conf(重要)

vi svnserve.conf

原始文件内容,都被注释掉的,我们只需要去掉5条指定内容前注释即可,如下:

image.png
[general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
realm = My First Repository
第六步:开防火墙端口3690(云服务器还要配置对应安全组规则)
第七步:启动svn服务器
svnserve -d -r /data/svn/svnrepos/
第八步:把windows项目传到svn服务器对应的仓库中

1.在项目文件夹外面一层右键,选择checkout,输入svn://ip/xxxxx(第二步仓库名),然后输入用户名密码,即可导出项目(注意重命名)
2.进入原来的项目复制把所有文件到刚导出的项目中,右键 ADD
3.所有项目文件夹右键commit

第九步:把服务器上的项目也checkout

1.进入web服务器对应的文件夹

svn checkout svn://ip/xxxxx

Authentication realm:  My First Repository
Password for 'root': 
Authentication realm:  My First Repository
Username: online
Password for 'online': 

然后文件夹下会生成xxxxx文件夹即项目

第十步:svn设置钩子

进入svn仓库

cd /data/svn/svnrepos/xxxx/hooks

vim post-commit

添加以下内容:

#!/bin/sh

export LANG=zh_CN.UTF-8

WEB=/data/www/xxxxx

svn update $WEB --username online --password 345678 --no-auth-cache

给post-commit 设置权限755
这样以后在windows修改项目提交后,对应的线上版本也会同步更新

你可能感兴趣的:(CentOS7.2 svn服务器搭建及钩子)