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文件夹,然后重新部署,才能得到一个纯净的工程,所以强烈建议买个移动硬盘挂载,用于存储,后续如果要部署其他文件共享类的服务,也应如此。

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

树莓派上搭建svn服务器相关推荐

  1. linux服务器上svn的log_Linux服务器上搭建svn服务器

    背景 项目开发中需要版本控制,而我们经常使用的是在windows系统上搭建svn服务器,下面介绍在Linux系统(CentOs)上搭建svn服务器. 1. 使用yum安装svn 使用yum安装svn, ...

  2. 在ubuntu16.04上搭建svn服务器

    本文介绍在如何在ubuntu16.04 的系统上搭建svn服务器以及可能遇到的问题.下面的操作都以root用户进行. 1.安装svn服务器软件subversion. // 安装完成后的svn版本为 1 ...

  3. 在树莓派上搭建MQTT服务器

    一.MQTT协议 实现MQTT协议需要客户端和服务器端通讯完成,在通讯过程中,MQTT协议中有三种身份:发布者(Publish).代理(Broker)(服务器).订阅者(Subscribe).其中,消 ...

  4. 树莓派上搭建Git服务器

    说明 利用树莓派为我所有的Git仓库创建了一个Git私有服务器,方便私有代码和文档的管理. 安装 1. 安装Git服务器和必要的客户端软件 sudo apt-get install wget git- ...

  5. svn同步文件到web服务器,Centos7上搭建SVN服务器并实现自动同步至web目录

    前言: 由于最近跟学长一起合作完成一个小项目,然后我俩比较熟悉的版本控制是SVN,就考虑着在服务器上搭建一个SVN服务器.现在在这里给出简单的搭建过程. (其实吧,能用Git就尽量用git吧,好处自己 ...

  6. 在centos上搭建svn服务器

    一.安装 输入命令yum install subversion 查看安装位置rpm -ql subversion 二.创建版本库目录 mkdir -p /home/svn/1 三.创建版本库 svna ...

  7. 树莓派移动硬盘存储服务器,树莓派+移动硬盘搭建NAS服务器

    由于树莓派的USB接口不足以给移动硬盘供电,因此需要另外给移动硬盘提供电源. 显示当前已有的存储设备 # fdisk -l Disk /dev/mmcblk0: 7876 MB, 7876902912 ...

  8. Debian搭建SVN服务器

    关于在Debian上搭建SVN服务器 简介 流程 1.更新软件 2.安装svn服务器 3.验证是否安装成功 4. 创建仓库存放路径 5. 创建项目(可创建复数个) 6. 配置用户权限 进一步设置(非必 ...

  9. mac搭建网站服务器,Mac上搭建Web服务器--Apache

    局域网搭建 Web 服务器测试环境,因为Mac OS X 自带了 Apache 和 PHP 环境,我们只需要简单的启动它就行了. 1.命令:sudo apachectl start Apache服务器 ...

最新文章

  1. eaccelerator 完全手册:配置、控制、API接口
  2. 资料分享:送你一本《数据结构(C#语言版)》电子书!
  3. 电池pack结构_3C锂电池pack中,使用弹片微针模组测试基本性能和大电流
  4. 操作系统(三)操作系统的发展和分类
  5. when is oPropagatedProperties of detail view being generated
  6. MySQL优化的一些基础
  7. php curl cookie,php中curl获取返回页面的cookie
  8. 双十一我们在作战室干什么?零点刚过,我偷偷提交了几行代码!
  9. SVM中引入拉格朗日对偶理解
  10. scrapy爬取多页面
  11. 页面显示pdf_PDF怎样合并?在Mac上合并PDF文件的最佳方法
  12. 剑指offer之变态跳台阶
  13. 腾讯云数据库智能化海量运维的建设与实践
  14. Java-IO操作性能对比
  15. python,NSGA3 多目标优化,结合多进程,可用于swat模型等复杂模型。
  16. matlab函数的线性化,[原创]非线性Simulink模型线性化方法讨论
  17. windows7旗舰版下载出现蓝屏代码50怎么办?
  18. 哪款软件可以测试脉冲信号,脉冲测试
  19. 招聘简历管理系统的简单设计
  20. 16个最佳PSD文件下载网站

热门文章

  1. CPU芯片哪家强?电视处理器这么选就对了!
  2. Fragment 的生命周期
  3. 快速排序及优化(Java实现)
  4. Struts(十六):通过CURD来学习Struts流程及ModelDriven的用法
  5. Oracle安装步骤及PL/SQL Developer连接数据库
  6. Win7下用IIS发布网站
  7. HTML5学习笔记三
  8. malloc/new函数及malloc()的一种简单原理性实现
  9. 给大家推荐个学英语的网站
  10. 冒泡排序(O(n^2))