1、检查系统是否已经安装;如果已经安装,可以卸载后再安装
检查:
svnserve --version
卸载:
yum remove subversion
2、安装
yum install subversion
3、建立SVN库(文件位置可自由)
创建仓库总目录文件夹:
mkdir -p /data/svn/repository
用svn管理员身份创建一个仓库:
mkdir -p /data/svn/repository/project1
svnadmin create /data/svn/repository/project1
进入project1 目录下的conf文件夹。将其中的authz与passwd文件复制到repository目录下
这么做的目的是总仓库使用统一配置
cd /data/svn/repository/project1/conf
cp authz ../../
cp passwd ../../
修改project1/conf 下的svnserve.conf文件,将其中的passwd文件制定与authz文件制定进行修改,其他配置按正常单svn配置。
注意:要去掉前面的‘#’,并且前面不要有空格,有空格则报错!!
[general]
#文件为可读none;read
anon-access=none
#文件为可写
auth-access=write
password-db=../../passwd
authz-db=../../authz
realm = /data/svn/repository/project1
4、权限配置
authz文件配置,设置哪些用户可以访问哪些目录:进入/opt/svn/repository/conf上面生成的文件夹下,
进行配置 authz文件配置,vi authz,向authz文件追加以下内容,左边是用户名,右边是读写权限(r、w、rw、no access),
每个目录的读写权限都可精细控制
[/]
#@admim = rw
#@users = rw
wyg = rw
在passwd文件中添加用户列表
[users]
#harry = harryssecret
wyg=wyg123
5、启动svn
本人建议指定端口的启动方式,如果建立多个仓库,也便于管理。
svn默认端口为3690,需要在防火墙添加才可在svn客户端访问
再次我选择用3691端口启动
启动命令:
svnserve -d -r /data/svn/repository --listen-port 3690
6.查看svn进程
ps -ef|grep svn,可以看到服务启动成功,想要重新启动则kill -9 pid,再重新使用命令启动
svnserve -d -r /data/svn/repository --listen-port 3690
备注:如果部署在阿里云等云服务器上,记得要去阿里云安全组打开3690端口
常用操作:
1.检出 (需要到检出的项目所在目录下执行该指令)
svn checkout svn://106.12.117.1/project/workfile2022/kehoufuwuxt/5.code/khfw/ khfw --username wyg
2.更新代码
svn update
svn 服务地址迁移:relocate
#relocate前的svn服务器获取uuid
svnlook uuid /opt/svn/repository/
#被relocate的svn服务器设置uuid
svnadmin setuuid /opt/svn/repository/ 328817f2-0388-41ec-8938-0ebed7a758aa