若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/150483050
长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…
其他(编程相关)
前言
本篇搭建公司SVN管理。 关于git和svn不再对比。
服务器建立SVN步骤
步骤一:登录ssh
服务器命令行登录即可,登录方式不限制。
步骤二:安装svn
sudo yum install subversion
步骤三:新建svn项目
查看svn服务:
ps aux | grep svnserve
创建版本库,每个项目是有一个版本库的,所以这些配置每个项目都有:
svnadmin create /root/svn/avmDemo
- conf目录:SVN版本库的配置文件(版本库的访问账号、权限等)。
- db目录:存放所有版本控制的数据存放文件。
- format文件:一个文本文件,文件中只包含一个整数,表示当前文件库配置的版本号。
- hooks目录:放置hook脚本文件的目录。
- locks目录:用来追踪存取文件库的客户端。
步骤四:设置SVN库的账号密码
进入avmDemo版本库的conf目录,编译passwd文件即可:
cd /root/svn/AVMDemo
cd conf
暂时添加三个用户:
vi passwd
配置权限:
步骤五:配置svn配置(关键步骤):
修改svnserve.conf文件:
步骤六:启动版本库
这里特别注意,avmDemo是版本库,我们还需要其他的版本库(一个项目一个),这里启用的时候用svn就好了,而不是svn/avmDemo:
svnerve -d -r /root/svn
其中 -d 表示守护进程, -r 表示在后台执行
后续拉去的时候,就是avmDemo了,这里卡了一些时间做测试细化。
查看版本库:
ps aux | grep svnserve
万一需要更改,则不要去动服务,直接关掉版本库进程即可,因为默认启动是/var/svn,我们修改了位置,所以重启起不来,但是可以重启服务器就好了(注意:重启服务器是一件很严肃的事情,笔者这个只是代码仓库而已):
这里贴上重启进行配置服务shell:
svnserve -d -r /root/svn
步骤七:配置authz,项目文件夹权限
这里单个仓库版本控制就是一个项目,根目录就是对这个地址的,所以是/,由于不是直接svn,是svn/avmDemo,所以新增如下:
修改配置后,好像不需要生效svn了,重复生效提示已经生效。
经过测试,修改权限是实时生效的,估计是使用权限的时候实时打开文件。
步骤八:开放SVN端口
可以查看,我们前面配置文件没有设置端口号,默认就是3690:
进入云服务器对外开放端口:
步骤九:svn服务随系统启动
先配置svn服务器启动的路径:
vim /etc/sysconfig/svnserve
改成我们自己仓库的路径:
重启后查看:
ps -aux | grep svn
客户端测试也通过。
注意
在svn的服务器上是看不到上传的东西的,而是提交一次svn会自动生成一个版本文件,这个文件是经过处理的,同样也看不到原文件。
补充:一版本仓库多文件夹方式
以上是通过不同的仓库版本,来实现,可以在一个版本下,对不同版本进行文件夹区分,也是可以的。
测试也是可以达到目的。
是一个版本库多个文件夹区分项目进入一个db控制,还是多个版本库对应db控制,怎么方便怎么来吧。(这种方式就是管理员下拉根目录下来,然后项目分文件夹,文件夹权限分给不同的人,这种方式,对开发人员来说,他只有自己的文件夹)
经过测试,每次提交一次,版本号都会更新,哪怕demo1更新,demo2不更新,那么demo1和demo2和demo3是共用一般版本号,从这个方面考虑,需要使用多版本号。
客户端拉取
步骤一:装svn
略
步骤二:检出仓库
到目标文件夹(需要放入这个文件夹),然后鼠标右键“检出”:
步骤三:拉取
输入账户名和密码, 拉取成功:
入坑
入坑一:检出地址失败
问题
“地址+仓库名称”检出失败:
尝试
之前为了做测试,关闭了svn服务,然后systemctl起不来了,状态如下:
是因为安装的时候,默认就是/var/svn,但它又只是一个仓库版本,一个项目就有多个仓库版本,这里我们进行规避,不去修改配置文件了,直接建立目录,测试也不行。
解决
重启服务器,然后生效版本仓库(由于服务器没加入启动脚本)。
可以修改启动目录配置文件/etc/sysconfig/svnserve,然后开启svn服务,具体查看“步骤九”。
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/150483050