一、常见版本控制工具的分析

企业中,我们对于产品的发布,经常要用到版本控制工具,而版本控制工具,我们常见的有 SVN、VSS、Git 等,下面,我们对常见的几款版本控制工具进行对比,分别列出他们的优缺点。

Centos 7 下 SVN 的部署_第1张图片

经过上面的分析,在我们的企业中,使用哪一款工具,各位大佬们心中也会自有定夺,这里,我们就挑一款市场上使用较多的 SVN 版本控制工具进行部署安装。

二、SVN 的部署

1、安装 SVN 工具

[root@localhost ~]# yum -y install subversion

2、创建 SVN 版本库的目录

[root@localhost ~]# mkdir -p /svn/svnrepos

3、创建 SVN 版本库

[root@localhost ~]# svnadmin create /svn/svnrepos

4、配置 SVN

在创建完版本库之后,会在 /svn/svnrepos 目录下生成下面文件

[root@localhost svnrepos]# ll
total 24
drwxr-xr-x 2 root root 4096 Nov 22   18:28 conf
drwxr-sr-x 6 root root 4096 Dec 26   10:12 db
-r--r--r-- 1 root root   2 Jun 11  2018  format
drwxr-xr-x 2 root root 4096 Jun 11  2018  hooks
drwxr-xr-x 2 root root 4096 Jun 11  2018  locks
-rw-r--r-- 1 root root  229 Jun 11  2018  README.txt

进入 conf 目录,会有下面文件

[root@localhost svnrepos]# cd conf/
[root@localhost conf]# ll
total 12
-rw-r--r-- 1 root root 1261 Sep 26 18:14 authz
-rw-r--r-- 1 root root  482 Sep 26 18:14 passwd
-rw-r--r-- 1 root root 3067 Jun 11  2018 svnserve.conf

authz:该文件为权限配置文件

passwd:该文件为用户密码设置文件

svnserve.conf:该文件为 SVN 综合配置文件

a、修改 authz 文件

[root@localhost conf]# vim authz

Centos 7 下 SVN 的部署_第2张图片

如上图:

①、我们设置了两个用户组:admin 和 user,admin 用户组下有两个用户 admin 和 root ,user 用户组下有一个用户 svn 。

②、我们设置了 SVN 用户的工作目录为 / ,注意:这里的 / 目录并不是系统的 / 目录,而是 SVN 仓库的根目录。

③、我们设置了 admin 用户组的权限为读写,user 用户组的权限为只读。也就是说,当我们使用 admin 和 root 用户登陆 SVN 时,具有读写权限,当我们使用 svn 用户登陆 SVN 时,只有只读权限。

b、修改 passwd 文件

[root@localhost conf]# vim passwd

Centos 7 下 SVN 的部署_第3张图片

如上图:

我们分别设置了前面创建的三个用户的密码,格式为 用户用 = 密码

c、修改 svnserve.conf 文件

Centos 7 下 SVN 的部署_第4张图片

如上图:

我们只需要修改上图标示的部分,具体的释义注释已经写的很明确,这里就不再多做赘述。

修改了以上的三个文件,我们的 SVN 就可以启动了,至于其他更多配置的修改,还需要各位大佬在实际应用中具体化。

d、启动 SVN

[root@localhost ~]# svnserve -d -r /svn/svnrepos

e、查看 SVN 进程及端口

[root@localhost ~]# ps -ef | grep svn
root      4496   650  0 13:12 pts/1    00:00:00 grep --color=auto svn
root     24632     1  0 Dec20 ?        00:00:00 svnserve -d -r /svn/svnrepos
[root@localhost ~]# netstat -tpnl | grep 3690
tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN      24632/svnserve

三、总结

SVN 的部署和应用还算是挺简单的,没什么操作难度。不过在企业中,我们具体使用哪一款版本控制工具,得看情况而定,也不必拘泥于单一的工具。