推荐阅读
大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。
一、前言
最近经常捣鼓Nas的一些功能,为此特意购入了一台群晖的220J来研究。
这篇文章就是在群晖Nas上安装SVN Server,并且正常运行的教程记录。
首先,说明一下,VisualSVN Server是专为Windows平台设计的Subversion服务器管理工具,提供图形化界面简化SVN部署与权限管理,支持SSL加密、Active Directory集成及自动备份。
TortoiseSVN是其配套的Windows Shell客户端,深度集成资源管理器,支持检出、提交、更新、合并、差异对比等完整版本控制操作。
本篇文章就基于这两个软件和Nas服务器来进行教程的。
二、正文
2-1、准备工作
(1)需要在本机电脑上安装TortoiseSVN软件:
可以参考这篇文章:TortoiseSVN新人使用指南[通俗易懂]

大概步骤就是下载后安装就可以了,不作为重点。
(2)准备一个群晖Nas
废话吗这是。。

(3)在群晖Nas上安装一个文件编辑器

2-2、在群晖Nas上安装SVN Server
(1)在套件中心找到Container Manager安装

这个相当于是群晖Nas的Docker,实际功能也跟Docker一样。
(2)打开Container Manager,找到镜像仓库

最好先设置一下镜像仓库地址:https://docker/1ms.run,不然的话下载很慢:

(3)找到garethflowers/svn-server然后安装:

(4)创建容器,运行容器

设置端口和存储空间:

需要注意这个端口号,后面拉取版本库要用到。
接着是存储空间设置,我们需要先创建个文件夹用来存储SVN版本库空间:


/var/opt/svn对应的是容器的存储空间的地址,要跟Nas的共享文件夹对应。

端口冲突了,我把3690改成了36901,然后点击完成。
2-3、创建库
创建库需要用到命令行指令,右键容器打开终端机:

点击新增,新增一个命令行界面:

运行指令,创建一个名字叫做"newgame"的版本库:
csharp
svnadmin create /var/opt/svn/newgame
OK,到这里基本结束了,接下来就是难点,项目配置,这个要认真听,认真看哦。
2-4、项目配置
(1)版本库配置
找到自己版本库的配置路径:/docker/SVN/newgame/conf:

打开svnserve.conf

配置参数:
csharp
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
anon-access:none匿名用户,我们不希望访问
auth-access:write登录用户我们希望可以写入
password-db:用户的密码文件路径,通常是本目录的passwd文件
authz-db:详细的库设置。
(2)授权设置
打开authz文件:
设置组:
csharp
[groups]
#按用户组分权限
admin = admin,admin1 # admin为用户组,等号之后的为用户
test = zy,cj # test为用户组,等号之后的为用户
设置组对仓库目录的权限:
csharp
[newgame:/]
@test = rw
-
/newgame\] # 表示newgame目录(/var/svn/newgame)
设置组对仓库目录的权限:
csharp
[/]
@test = rw
-
/\] # 表示svn仓库目录(/var/svn/test)
- @test = r # 表示test组的用户对对仓库(/var/svn/test)目录只有读的权限
总体如下:
csharp
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
test = zy,cj
[/]
@test = rw
[newgame:/]
@test = rw
(3)密码设置
打开passwd文件:

密码就是个键值对,要跟authz里面的群组里面的用户对上。
2-5、连接群晖NAS的SVN Server
连接群晖NAS的SVN Server首先需要确认自己的IP地址。
在控制面板→网络→网络界面→局域网可以看到地址:

通过这个地址以及容器里面SVN的端口以及仓库名可以拉取版本库:

地址加端口号:

三、后记
如果觉得本篇文章有用别忘了点个关注,关注不迷路,持续分享更多Unity干货文章。
你的点赞就是对博主的支持,有问题记得留言:
博主主页有联系方式。
博主还有跟多宝藏文章等待你的发掘哦:
| 专栏 | 方向 | 简介 |
|---|---|---|
| Unity3D开发小游戏 | 小游戏开发教程 | 分享一些使用Unity3D引擎开发的小游戏,分享一些制作小游戏的教程。 |
| Unity3D从入门到进阶 | 入门 | 从自学Unity中获取灵感,总结从零开始学习Unity的路线,有C#和Unity的知识。 |
| Unity3D之UGUI | UGUI | Unity的UI系统UGUI全解析,从UGUI的基础控件开始讲起,然后将UGUI的原理,UGUI的使用全面教学。 |
| Unity3D之读取数据 | 文件读取 | 使用Unity3D读取txt文档、json文档、xml文档、csv文档、Excel文档。 |
| Unity3D之数据集合 | 数据集合 | 数组集合:数组、List、字典、堆栈、链表等数据集合知识分享。 |
| Unity3D之VR/AR(虚拟仿真)开发 | 虚拟仿真 | 总结博主工作常见的虚拟仿真需求进行案例讲解。 |
| Unity3D之插件 | 插件 | 主要分享在Unity开发中用到的一些插件使用方法,插件介绍等 |
| Unity3D之日常开发 | 日常记录 | 主要是博主日常开发中用到的,用到的方法技巧,开发思路,代码分享等 |
| Unity3D之日常BUG | 日常记录 | 记录在使用Unity3D编辑器开发项目过程中,遇到的BUG和坑,让后来人可以有些参考。 |