“量化交易”之搭建个人SVN服务器

引述


我不是码农,接触SVN服务器是从研究生阶段在中国船级社(北京)研发中心开展软件测试项目开始的,彼时SVN服务器主要用于测试文档的管理工作。个人搭建SVN服务器是为了便于自己完成对于常用资料的保存和更新。

先说一下服务器,本人租用的是vultr 5刀每月的Tokyo服务器,vultr服务器的特点时分时收费,较为灵活,且Tokyo离国内较近,延迟完全可以接受。当然如果没有开眼看世界的需要,也可选择国内服务器。

5刀每月的服务器配置情况:

    CPU: 1 vCore

    RAM: 1024 MB

    Storage: 25 GB SSD

    Bandwidth: 4.83 GB of 1000 GB

作为服务器,当然选择口碑王者 CentOS ,作者用的是 CentOS 7 x64,由于本人非计算机专业,更多的也不清楚,一般都是以满足基本需求为最高标准,够用方便就OK了。

下面不废话,快速进入SVN服务器的搭建和使用部分。声明一下:以下过程全部进行过测试,不要怀疑下述配置的有效性,避免浪费不必要的时间!

配置服务器端


1. yum命令行安装

    yum install subversion

2. 创建svn仓库

    mkdir -p /svn

3. 创建project项目

    svnadmin create /svn/project

    此时创建生成了svn库文件有

    conf(配置文件):仓库的配置文件(仓库的用户访问帐号、权限等)

    db:所有版本控制的数据存放文件

    format:文本文件,里面只放了一个整数,表示当前文件库配置的版本号

    hookes(钩子文件夹):脚本文件的目录

    locks:用放置hook来放置Subversion文件库锁定数据的目录,用来追踪存取文件库的客户端

    README.txt

4. 配置svn仓库,修改conf文件里的配置文件

    配置账号密码文件vi passwd:

        尾行添加:user=passwd( 前面的是用户名,后面的是密码)

    配置权限vi authz:

        尾行添加:[/]user=rw*=

5. 取消svnserve.conf文件中下列内容前注释标识符

    anon-access = none 不允许匿名用户

    auth-access = write 授权用户可写

    password-db = passwd 用户文件是哪个

    authz-db = authz 鉴权文件是哪个

    realm = /svn 你设置的项目目录

6. 配置钩子文件,用于将上传的文件更新到网站目录

    cd /svn/hooks

    cp post-commit.tmpl post-commit

    编辑配置文件vi post-commit:

        尾行添加

        export.UTF-8SVN_PATH=/usr/binWEB_PATH=/svn/repository 设置仓库地址

        SVN_USER=user 设置的svn用户名

        SVN_PASS=passwd 设置的svn密码

        echo 'date "+%Y-%m-%d %H:%M:%S" '>> $LOG_PATH

        echo 'whoami' ,$REPOS,$REV >> $LOG_PATH

7. 开启svn服务

        centos开机自动启动SVN服务的方法

        注意:我们在用终端操作的时候,可直接用svnserve -d -r /svn命令启动SVN,但是  在/etc/rc.d/rc.local 文件中必须写上完整的路径,使用whereis svnserve命令查找获取svnserve完整路径。通常svnserve的完整路径为/usr/bin/svnserve

        编辑rc.local文件:vi /etc/rc.d/rc.local

        加入如下启动命令:/usr/bin/svnserve -d -r /svn

8. 为rc.local获取自启动权限

    chmod -R 777 /etc/rc.d/rc.local

9. 进入网站目录,进行服务器端检出

    作用:锁定仓库URL,更换项目地址时一定要重新checkout

    cd /svn/repository

    svn checkout svn://45.76.222.248 端口svn默认为3690

配置PC端


PC端安装TortoiseSVN进行图形化交互配置,TortoiseSVN安装过程按指引完成个性化安装,安装完成后检查以下两项确保安装成功:

    配置TortoiseSVN/bin路径进入环境变量Path

    检查右键选项

使用过程选择目标文件夹右击checkout,完成URL of repsitory和Checkout directory配置。

其中:URL of repository通过进入服务器端配置hooks后由命令svn info获取。

这里需要注意:目标文件夹一定要为空文件夹,否则无法进行commit和update操作。

PC端checkout配置

PC端SVN服务器的使用


右击目标文件夹,选择svn submit/svn update

文件颜色标志

蓝色加号:本地的.svn对该文件有形成管理(远程仓库 还没有该文件记录),该文件已经执行add操作

绿色对号:本地文件、.svn管理的版本文件、远程仓库文件 三者内容完全一致

红色叹号:本地文件与.svn和仓库文件不一致(用户自己修改了该已经提交过的文件)

黄色叹号:表示该文件正处于冲突状态

蓝色问号:新建的一个文件,本地.svn 和 远程仓库 对该文件都没有记录

备注

    SVN的替代产品还有SCM、 CVS、VSS、ClearCase、Git等,读者有需要可以此为开端自行学习。

    SCM:软件配置管理,所谓软件配置管理实际就是对软件源代码进行控制和管理

    CVS:元老级产品

    VSS:入门级产品

    ClearCase:IBM公司提供的技术支持

    Git:高端

作者微信sxqwadezncd。

你可能感兴趣的:(“量化交易”之搭建个人SVN服务器)