项目案例一:生产环境SVN数据迁移到测试环境GitLab
主机名 IP地址 备份 特殊要求
SVN 192.168.146.133 SVN服务器 无
Git01 192.168.146.131 Git客户端 无
Git02 192.168.146.132 GitLab服务器01 内存2G
-
案例背景
公司近期对于"版本管理工具是否进行切换SVN–>Git"的问题进行了讨论,于是对svn和git进行了相关研究,进而梳理出了Git的特点(优,缺点),最后将Git与SVN进行了对比,对比结果详细见下方内容。
-
部署SVN服务器
[root@localhost ~]# yum -y install subversion
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
[root@localhost ~]# mkdir -p /application/svndata/yunjisuan
[root@localhost ~]# mkdir -p /application/svnpasswd
#创建yunjisuan项目主分支,开发分支,测试分子
[root@localhost ~]# svnadmin create /application/svndata/yunjisuan/master
[root@localhost ~]# svnadmin create /application/svndata/yunjisuan/dev
[root@localhost ~]# svnadmin create /application/svndata/yunjisuan/test
[root@localhost ~]# cd /application/svndata/yunjisuan/master/conf/
[root@localhost conf]# cp svnserve.conf{,.bak}
[root@localhost conf]# vim svnserve.conf
[root@SVN conf]# sed -n '19p;20p;27p;34p' svnserve.conf
anon-access = none
auth-access = write
password-db = /application/svnpasswd/passwd
authz-db = /application/svnpasswd/authz
#将配置文件覆盖另外两个分支
[root@localhost conf]# /bin/cp svnserve.conf /application/svndata/yunjisuan/dev/conf/
[root@localhost conf]# /bin/cp svnserve.conf /application/svndata/yunjisuan/test/conf/
[root@localhost conf]# cp /application/svndata/yunjisuan/master/conf/authz /application/svnpasswd/
[root@localhost conf]# cp /application/svndata/yunjisuan/master/conf/passwd /application/svnpasswd/
[root@localhost conf]# cd /application/svnpasswd/
[root@localhost svnpasswd]# vim passwd
yunjisuan = 123456
benet = 123456
stu001 = 123456
stu002 = 123456
[root@SVN svnpasswd]# vim authz
[root@SVN svnpasswd]# egrep -v "#|^$" authz
[aliases]
[groups]
testgroup = stu001,stu002
[yunjisuan/master:/]
yunjisuan = rw #master主分支代码提交者---开发经理
benet = r
[yunjisuan/dev:/]
benet = rw #dev开发分支代码提交者---普通程序员
yunjisuan = rw #dev开发分支代码下载者---开发经理
[yunjisuan/test:/]
@testgroup = r #test测试分支代码下载者----测试人员
yunjisuan = rw #test测试分支代码提交者---开发经理
[root@localhost svnpasswd]# svnserve -d -r /application/svndata/
[root@localhost svnpasswd]# ps -ef | grep svn
root 1468 1 0 09:01 ? 00:00:00 svnserve -d -r /application/svndata/
root 1470 1233 0 09:01 pts/0 00:00:00 grep --color=auto svn
在宿主机创建三个svn目录checkout代码,如下图