关闭

树莓派上搭建svn服务器

标签: 树莓派svn服务器
252人阅读 评论(0) 收藏 举报
分类:

svn软件下载

sudo apt-get install subversion
  • 1
  • 1

创建代码仓库

由于树莓派本身运行在SD卡中,一开始我将仓库部署在家目录中,后来发现svn为了完整的保存代码开发的每一个版本,其容量是越用越大的,无论是删除文件还是修改文件,都是增量的,所以后来买了个移动硬盘挂在了树莓派上用作存储用途,目录为 /media/pi/Tron_Service

pi@raspberry:~> cd /media/pi/Tron_Service
pi@raspberry:/media/pi/Tron_Service> mkdir svnrepo
pi@raspberry:/media/pi/Tron_Service/svnrepo> svnadmin create ./project
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

配置代码仓库

svnrepo用作svn的根目录存储路径,svnadmin create ./project用来建立project文件夹,并建立版本控制。 
进入project文件夹里面有一些用于权限控制和版本控制的文件夹,conf是配置文件夹,db里面放的是版本控制的数据。

pi@raspberry:/media/pi/Tron_Service/svnrepo/project/conf> vim svnserve.conf
  • 1
  • 1
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access = none
#认证用户的权限,可以是read,write,none,默认为write
auth-access = write
#密码数据库的路径,去掉前面的#
password-db = passwd
#权限数据库的路径
authz-db = authz
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

里面是一串这种配置,我的树莓派只是给自己用,匿名访问我去掉了。 
password-db后面跟的是密码数据库的路径,默认是同目录下的passwd文件。 
authz-db同理。 

配置同户名和密码

pi@raspberry:/media/pi/Tron_Service/svnrepo/project/conf> vim passwd
  • 1
  • 1
[users]
tron = *********
  • 1
  • 2
  • 1
  • 2

在这个文件中配置svn的登陆用户名和密码,都是明文的,*号那里换上自己的密码,一行一个用户。 

配置权限

pi@raspberry:/media/pi/Tron_Service/svnrepo/project/conf> vim authz
  • 1
  • 1
[groups]
[/]
tron = rw
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

[/]用来设置根目录权限,如果设置其他目录的权限,加上子目录就可以了,这里的根目录应该指的是project这个目录,而非svnrepo目录(还没试过,只是猜测)。 

启动svn服务

pi@raspberry:/media/pi/Tron_Service/svnrepo/project/conf> killall svnserve
pi@raspberry:/media/pi/Tron_Service/svnrepo/project/conf> svnserve -d -r /media/pi/Tron_Service/svnrepo
  • 1
  • 2
  • 1
  • 2

-d参数用于指定后台运行, 
-r参数用于指定根目录,也就是客户端访问 svn://ip:port/ 这个目录的真实地址。

由于我们的根目录不在版本控制内,所以输入 svn://ip:port/ 会出现访问不了的情况,但可以通过输入 svn://ip:port/project 来访问project版本控制文件夹。

如果要使得客户端输入 svn://ip:port/ 即访问project文件夹,则设置根目录时应该将project设置成根目录:

pi@raspberry:/media/pi/Tron_Service/svnrepo/project/conf> svnserve -d -r /media/pi/Tron_Service/svnrepo/project
  • 1
  • 1

客户端软件

推荐使用TortoiseSVN吧,简单实用。

后记

树莓派的空间小,在上面部署svn是种极大的浪费,而且svn一旦部署是没有办法将版本控制撤销或是只保留当前版本的,除非将项目导出后删除project文件夹,然后重新部署,才能得到一个纯净的工程,所以强烈建议买个移动硬盘挂载,用于存储,后续如果要部署其他文件共享类的服务,也应如此。

移动硬盘最好再买个带供电的数据线,一般的移动硬盘太吃电流了,树莓派可能带不动,就算勉强带动(比如我的希捷移动硬盘),树莓派也会动不动出现黄色闪电标识,显示供电不稳,导致树莓派容易死机等问题。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2320次
    • 积分:141
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:9篇
    • 译文:9篇
    • 评论:0条