在测试环境部署—USVN版本控制系统


部署—USVN版本控制系统
2019.10.26 运维工程师-李晨星

1. SVN介绍

SVN——Apache Subversion(集中式的版本控制系统)

Subversion
  • 每个版本库有唯一的URL(官方地址),每个用户都从这个地址获取代码和数据;
  • 获取代码的更新,也只能连接到这个唯一的版本库,同步以取得最新数据;
  • 提交必须有网络连接(非本地版本库);
  • 提交需要授权,如果没有写权限,提交会失败;
  • 提交并非每次都能够成功。如果有其他人先于你提交,会提示“改动基于过时的版本,先更新再提交”… 诸如此类;
  • 冲突解决是一个提交速度的竞赛:手快者,先提交,平安无事;手慢者,后提交,可能遇到麻烦的冲突解决。

好处:每个人都可以一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限。

缺点:中央服务器的单点故障。

USVN
  • 这是一个用PHP编写的Web界面,用于配置Subversion存储库。其目标是消除使用命令行界面创建新的SVN项目和用户的麻烦。
环境
[root@usvn www]#  uname -a
Linux usvn 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

关闭selinux:

#执行命令
setsebool -P httpd_can_network_connect=1

#修改为disabled
vim /etc/selinux/config
SELINUX=disabled

2.安装部署

2.1 下载依赖包
yum install subversion httpd mod_dav_svn php php-mysql mysql-server mysql-devel perl-DBI perl-DBD-mysql mod_auth_mysql
php-5.4
php-mysql-5.4
httpd-2.4.6
subversion-1.7
mod_dav_svn-1.7 
perl-DBI-1.627
2.2 启动httpd、mysqld服务
systemctl restart httpd mysqld
systemctl enable httpd mysqld
2.3 设置MySQL密码(usvn需要)
mysqladmin -u root password 123
2.4 配置svn
#将usvn软件包下载到指定目录并解压
cd /server/tools
wget https://github.com/usvn/usvn/archive/1.0.8.zip
unzip 1.0.8.zip

#移动到/var/www/html/下
mv usvn-1.0.8 /var/www/html/usvn

#将代码移动到apache的站点下
mv /var/www/html/usvn/src /var/www/html/
    
#修改为apache的权限
chown -R apache.apache /var/www/html/src/

    
#修改Apache配置文件
vim tc/httpd/conf/httpd.conf
119 DocumentRoot "/var/www/html/src/public"

#追加配置
cat >> etc/httpd/conf/httpd.conf << EOF
<Directory "/var/www/html/src/">
    	Options +SymLinksIfOwnerMatch 
        AllowOverride all
        Order allow,deny
        Allow from all
</Directory>
EOF

#重启httpd
systemctl restart httpd
2.5 浏览器进行访问

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

2.6 mysql创建usvn库表信息

MySQL-5.7.26-安装流程

systemctl restart mysqld.service
create database usvn;
grant all on usvn.* to 'usvn'@'172.16.1.%' identified by '123';
grant all on usvn.* to 'usvn'@'localhost' identified by '123';
flush privileges;


2.7 添加配置到httpd.conf中
<Location /svn/>
	ErrorDocument 404 default
	DAV svn
	Require valid-user
	SVNParentPath /var/www/html/src/files/svn
	SVNListParentPath off
	AuthType Basic
	AuthName "USVN"
	AuthUserFile /var/www/html/src/files/htpasswd
	AuthzSVNAccessFile /var/www/html/src/files/authz
</Location>
    
#重启apache
systemctl restart httpd

在这里插入图片描述

2.8 默认目录说明


2.9 代码上传目录
[root@usvn html]# ll /var/www/html/src/files/
total 8
-rw-r--r--. 1 apache apache 424 Oct 25 20:27 authz
-rw-r--r--. 1 apache apache 134 Oct 25 20:17 htpasswd
drwxr-xr-x. 3 apache apache  22 Oct 25 20:20 svn
2.9 svn账户密码配置目录
[root@usvn src]# ll /var/www/html/src/files/svn/DE_Robot/conf/
total 12
-rwx------. 1 apache apache 1080 Oct 25 20:20 authz
-rwx------. 1 apache apache  309 Oct 25 20:20 passwd
-rwx------. 1 apache apache 3090 Oct 25 20:20 svnserve.conf

#创建svn仓库目录
mkdir -p /var/www/html/src/files/svn/DE_Robot/

#初始化
svnadmin create /var/www/html/src/files/svn/DE_Robot/
    
#查看目录
ls /var/www/html/src/files/svn/DE_Robot/
conf  db  format  hooks  locks  README.txt

#切入到conf目录中修改用户密码
cd /var/www/html/src/files/svn/DE_Robot/conf/
ls
authz  passwd  svnserve.conf

#修改主配置文件svnserve.conf ,将‘#’删除
[root@usvn conf]# egrep -v '#|^$' svnserve.conf
[general]
anon-access = none	 #匿名用户权限(无)
auth-access = write  #认证用户(写)
password-db = passwd #数据库账号密码文件认证
authz-db = authz 	 #角色的定义(每个用户能读哪个文件)
realm = /var/www/html/src/files/svn/DE_Robot #仓库的根目录地址
[sasl]

#添加用户
[root@usvn conf]# vim passwd
[users]
admin = 12345678	
test = 12345678

#添加授权文件([/]代表svn的根目录)
[root@usvn conf]# vim authz 
[/]
admin = rw
test = r

#对svn目录下的所有文件和子目录添加Users的读写权限
[root@usvn html]# chmod -R o+rw /var/www/html/src/files/svn/

#启动svn服务
[root@usvn conf]# svnserve -d -r /var/www/html/src/files/svn/DE_Robot/
[root@usvn conf]# netstat -lntup|grep svnserve
tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN      17734/svnserve 

3. 安装SVN客户端访问存储库

在这里插入图片描述

默认安装

选中命令行那个,然后勾选“will be installed on local hard drive”

在这里插入图片描述

3.1 安装完毕后点击鼠标右键即可看到

在这里插入图片描述

3.2 安装中文语言包

3.3 创建一个SVN的仓库目录并连接服务端

3.4 修改语言为中文

3.5 上传代码并测试

需要输入密码

admin
passwd

3.5 查看代码是否上传成功
[root@usvn DE_Robot]# pwd
/var/www/html/src/files/svn/DE_Robot
[root@usvn DE_Robot]# du -smh db
540K	db

#再次查看服务端的容量大小
[root@usvn DE_Robot]# du -smh db
674M	db
3.6 svn的注意情况
  • 每次提交之前必须要先更新
  • 如果拉不下来,给本地文件修改名字后再拉

4 从USVN上进行查看与下载

负责为开发创建账号密码,然后进行局域网内的集中式的代码版本控制

技术支持文档:

https://yq.aliyun.com/articles/518938?spm=a2c4e.11153940.0.0.61ea62dag84tMh

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值