CentOS搭建SVN服务器

2022-11-21 19:17:48 浏览数 (2)

参考:腾讯云手动实验:https://cloud.tencent.com/developer/labs/lab/10192

安装SVN服务端

安装Subversion

Subversion 是一个版本控制系统,相对于的 RCS 、 CVS ,采用了分支管理系统,它的设计目标就是取代 CVS 。和Git库的使用类似

代码语言:javascript复制
[root@localhost ~]# yum -y install subversion

创建SVN版本库

创建版本库目录

代码语言:javascript复制
[root@localhost ~]# mkdir -p /data/svn/my_project
[root@localhost ~]# svnadmin create /data/svn/my_project/

配置SVN信息

版本库中的配置目录 conf 有三个文件:

authz 是权限控制文件 passwd 是帐号密码文件 svnserve.conf 是SVN服务综合配置文件

配置权限配置文件 authz

编辑文件authz

代码语言:javascript复制
[root@localhost ~]# vim /data/svn/my_project/conf/authz
# groups下添加
[groups]
# 用户组所对应的用户
admin = admin,root,test
# 库目录权限
[/]
# 用户组权限
@admin = rw
# 非用户组权限
*=r

配置账号密码文件passwd

代码语言:javascript复制
[root@localhost ~]# vim /data/svn/my_project/conf/passwd
# 末尾添加
admin = 123456
root  = 123456
test  = 123456

配置SVN服务的总和配置文件

代码语言:javascript复制
[root@localhost ~]# vim /data/svn/my_project/conf/svnserve.conf
# 去掉注释
# 匿名用户没有权限
anon-access = none
# 授权用户可以写入
auth-access = write
# 密码文件路径
password-db = passwd
# 授权文件路径
authz-db = authz
# 版本库路径
realm = /data/svn/my_project

启动SVN服务

代码语言:javascript复制
[root@localhost ~]# svnserve -d -r /data/svn/

checkout SVN项目

代码语言:javascript复制
[root@localhost ~]# mkdir -p /data/workspace/my_project
[root@localhost ~]# svn co svn://127.0.0.1/my_project /data/workspace/my_project/ 
--username root --password 123456 --force --no-auth-cache 
取出版本 0。

提交文件到 SVN 服务器

代码语言:javascript复制
[root@localhost ~]# cd /data/workspace/my_project/
[root@localhost my_project]# echo HYTEST >> test.txt
[root@localhost my_project]# svn add test.txt 
A         test.txt
[root@localhost my_project]# svn commit test.txt -m 'test'
认证领域: <svn://127.0.0.1:3690> /data/svn/my_project
“root”的密码: 

-----------------------------------------------------------------------
注意!  你的密码,对于认证域:

   <svn://127.0.0.1:3690> /data/svn/my_project

只能明文保存在磁盘上!  如果可能的话,请考虑配置你的系统,让 Subversion
可以保存加密后的密码。请参阅文档以获得详细信息。

你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,
来避免再次出现此警告。
-----------------------------------------------------------------------
保存未加密的密码(yes/no)?yes
正在增加       test.txt
传输文件数据.
提交后的版本为 1。

本地的项目删除后,也能通过版本库恢复

代码语言:javascript复制
[root@localhost my_project]# rm -rf test.txt 
[root@localhost my_project]# pwd
/data/workspace/my_project
[root@localhost my_project]# svn update
正在升级 '.':
已还原“test.txt”
版本 1。
[root@localhost my_project]# ls
test.txt

搭建完成

svn

0 人点赞