CentOS7安装SVN版本库+checkout
这是在虚拟机上进行的测试安装,首先要保证虚拟机能够上网并且虚拟机和主机能相互ping通。
1、安装SVN版本库到虚拟机
- 检查svn是否已经安装
svnserve --version #查看svn的版本信息
如果提示没有svnserve
这个命令说明svn的版本库没有安装。
- 安装
svn
版本库
yum install subversion #直接执行,会自动下载依赖以及解决依赖关系
安装完成之后,再次使用命令svnserve --version
查看版本信息,如果有版本信息的打印说明安装成功!
想要通过svn去管理项目,这时就需要创建svn的版本库了。
- 创建svn版本库
mkdir -p /home/app/svn-subversion #创建一个版本库的目录
svnadmin create /home/app/svn-subversion/ #在刚才创建的目录中,创建svn的版本库
执行完成svnadmin
之后会在 /home/app/svn-subversion/ 目录下面生成svn的配置文件信息:
2、SVN配置文件修改
经过上面的配置完成了SVN的安装以及SVN版本库的创建,下面进行SVN版本库的配置.
cd /home/app/svn-subversion/config
- 进行账号密码的配置
cd /home/app/svn-subversion/config #进入到创建版本库生成配置文件目录当中
vi passwd #进入账号密码配置的文件
进入passwd文件之后,在最后添加上用户名和密码,格式是:用户名=密码
。
2. 用户权限设置
cd /home/app/svn-subversion/config #进入到创建版本库生成配置文件目录当中
vi authz #进入权限配置的文件
进入权限设置的配置文件之后,可以赋予用户读写权限。在最后加上配置 admin = rw
:
admin代表用户,rw代表读写权限。
- 版本库配置文件修改
cd /home/app/svn-subversion/config #进入到创建版本库生成配置文件目录当中
vi svnserver.config #进入版本库配置的文件
3、windows测试svn的连接情况
上面完成了svn版本库的配置,下面就可以启动版本库,进行测试了。
- 启动版本库
svnserve -d -r /home/app/svn-subversion/ #启动的是刚刚创建并完成配置的版本库
- windows检出svn版本库数据
首先要保证windows系统已经安装了svn。
checkout一下,可以将服务器的版本库导入到客户端,这时会产生一个空的文件夹,这个空文件夹就是从服务器检出的版本库可以在客户端的这个空文件夹创建文件夹或者文件,然后再commit提交,这时就会在服务器的版本库存储客户端创建的内容了!
创建一个文件夹来导出虚拟机版本库中的文件,出现这种情况就是成功导出。
但是也可能会出现一些其他问题。
4、版本库检出可能会出现的问题
- 虚拟机的svnserve没有成功启动
# -ef 也可以写ps aux | grep svnserve
ps -ef | grep svnserve #检查进程,成功启动就是两个进行,没有成功启动就是一个进程
svnserve -d -r /home/app/svn-subversion/ #没有启动成功就在启一边
- 虚拟机的防火墙没有关闭(连接不上)
systemctl status firewalld #查看防火墙的运行状态,没有正在运行可以停止防火墙或者禁用
systemctl stop firewalld #停止防火墙
systemctl disable firewalld #禁用防火墙
在本地虚拟机上关闭防火墙就能解决不能导出的问题,但是在云服务器上需要开放一个叫3690的svn端口。
3. 授权文件出现问题(authz)
授权文件一定要指定当前用户的操作权限以及目录。
[/] #操作目录
admin = rw #操作权限
- svn版本库配置文件出现问题(svnserve.conf)
放开注释的时候前面一定要去掉空格,否则身份的认证会通不过去。
5、注意点
需要注意的是在客户端(windows系统)上提交到服务器上的数据并不能看到,提交的数据存到版本库中的时候一般存储为FSFS
或者BDB
格式,目前默认的是FSFS格式,在服务器上是不能看到源文件的。
如果想要看到源文件,需要在服务器上执行检出(checkout)操作:
#co:checkout
#--username:用户名
#--password:密码
#svn://192.168.1.108/school,svn版本库的存放文件的目录-->源地址
#mySvnProject/:检出文件后存放目录-->目标地址
svn co --username admin --password admin svn://192.168.1.108/school mySvnProject/
以上的内容可以写成脚本文件(脚本文件的执行需要授权)或者直接命令行执行。
#R:改变文件或者目录的权限,chmod --help
#4+2+1=7 分别代表(读,写,执行,的权限)
#第一个7代表 文件所有者权限
#第二个7代表 所在组 的权限
#第三个7代表 其他用户的权限
chomd -R 777 脚本文件的路径 #授权操作
参考文件
https://blog.csdn.net/yjt13/article/details/78448248
https://blog.csdn.net/qq_43679402/article/details/86744924
https://blog.csdn.net/qq_29945729/article/details/52936900
https://www.cnblogs.com/zsl-3/p/5943651.html