社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  docker

群晖NAS+Docker,SVN部署详细攻略

尘道铭 • 2 月前 • 115 次点击  

点击上方蓝字,关注我们

群晖 NAS,作为网络附属存储设备中的佼佼者,以其强大的存储能力和丰富的功能,深受广大用户的喜爱。其中Container Manager(原Docker) 功能可以去部署不同的软件和工具去解决用户的问题。此文介绍下在群晖NAS的 Container Manager 上部署 SVN 软件,部署 SVN 软件之前,我们先来聊聊为什么要这么做。

Container Manager,是一款开源的应用容器引擎,它可以让开发者将应用程序及其依赖项打包到一个可移植的容器中,然后发布到任何流行的 Linux 或 Windows 机器上。Container Manager 最大的优势在于它的轻量级和可移植性,就像一个 “软件集装箱”,把软件运行所需的环境和程序本身打包在一起,无论在什么地方运行,都能保证环境的一致性。

1.png


那么,将 SVN 部署在 Container Manager 中,又有哪些独特的好处呢?首先,管理变得更加轻松。其次,资源利用更加高效。另外,这种部署方式还具有很强的灵活性和可扩展性,当你的项目需求发生变化时,能够快速地调整 SVN 服务的配置和规模。

对于开发者和团队来说,一个稳定、高效且易于管理的版本控制系统是至关重要的。而在群晖 NAS 的 Container Manager 上部署 SVN,恰好能满足这些需求,为你的开发工作带来极大的便利。


虽然群晖NAS全系列型号均已支持Container Manager的安装,但是为了软件运行的稳定和快速,建议选用群晖PLUS系列以上的设备去做部署。

此文介绍所用设备为群晖DS923+,系统版本DSM7.2.1-69057 Update 7


▼群晖NAS的DSM系统和基础功能设置已经部署完成,完成后我们就可以安装 Container Manager 了,具体步骤如下:

登录群晖 NAS 系统界面---打开 “套件中心”---搜索并安装 Container Manager(如为设备未联网需提前下载软件后手动上传安装),等待安装完成。安装完成后,在套件中心的 “已安装” 列表中,找到 “Container Manager” 套件,点击 “启动” 按钮,或者在群晖 NAS 系统的“主菜单”中找到Container Manager的图标,点击运行软件。

2.png


▼软件安装完成后,我们可以在“File Station”目录中看到自动生成的“docker”文件夹,为了便于管理和存储 SVN 仓库的数据,我们需要在“docker”文件夹中创建一个SVN专用的文件夹。比如在根目录下创建一个名为 “svn” 的文件夹,用于存放 SVN 相关的数据。

3.png


拉取 SVN 镜像

▼打开Container Manager软件---找到“注册表”搜索SVN,此时,会出现多个与 “svn” 相关的镜像,其中官方镜像通常是较为可靠的选择,你可以根据镜像的描述、评分、下载量等信息来选择合适的镜像。

注意:如果在拉取镜像时遇到速度过慢或者失败的情况,可以考虑设置国内镜像源来加速下载,可以网上查找下可用的镜像源地址。

4.png


▼容器下载完成后,在映像中可以找到刚刚下载的SVN镜像images。

5.png 


▼开始创建容器,常规设置中可以配置容器名称等信息。

6.png 


▼这里设置容器内部的端口号和容器暴露给宿主机的端口号(即本地端口号),本地端口号会在下面配置远程访问端口转发的时候使用。

7.png


▼在存储空间这里,选择添加文件夹,此文件夹选择提前创建的SVN文件夹,并填写相应的装载路径/var/opt/svn

8.png


▼配置完成后,可以查看摘要信息,确认无误后点击完成,等待群晖启动SVN镜像。

9.png


▼在容器列表中就可以看到运行中的SVN-Server了。

10.png


创建仓库

▼在操作中使用打开终端机创建新项目。

11.png


▼创建新项目的命令格式以 svnadmin create /var/opt/svn/test 为例

12.png


▼创建完毕后左边列表里会多一条svnadmin

13.png


▼此时在FileStation中可以看到新建的项目仓库

14.png


配置 svnserve.conf文件进入刚才创建的仓库的 “conf” 目录,找到 “svnserve.conf” 文件,这个文件是 SVN 服务器的核心配置文件,用于设置服务器的各种参数和访问控制策略。

15.png


▼使用文本编辑器打开svnserve.conf这个文件,对以下关键参数进行配置。

它们分别表示:

禁止匿名访问;anon-access = none

允许授权登录并读写;auth-access = write

启用密码数据库;password-db = passwd

指定密码配置文件;authz-db = authz


16.png


配置 passwd 文件:同样在 “conf” 目录下,打开 “passwd” 文件,这个文件用于存储 SVN 用户的账号和密码信息。在文件的 “[users]” 部分,添加需要使用 SVN 服务的用户及其密码,格式为 “用户名 = 密码”,这里添加了一个用户“kuoyi”并为其设置了密码。

17.png

18.png


配置 authz 文件:“authz” 文件用于配置用户和用户组对 SVN 仓库不同路径的访问权限。在 “conf” 目录下打开该文件,对其进行如下配置。


总结

通过上述详细的步骤,我们成功地在群晖 NAS 的 Container Manager上部署了 SVN 工具,实现了高效的版本控制管理。从最初的准备工作,到安装 Container Manager、拉取 SVN 镜像、运行容器以及配置仓库,每一步都为构建稳定可靠的 SVN 服务奠定了基础 。在这个过程中,我们充分利用了群晖 NAS 强大的存储和管理能力,以及 Container Manager 容器化技术的轻量级、可移植和易于管理的优势,使得 SVN 服务的部署和维护变得更加简单和便捷 。


END

往期推荐

Historical articles

NAS-数据管理的终极解决方案



群晖NAS应用设置--File Station应用设置



群晖NAS设置篇---存储池、存储空间创建


    感谢您每一次的“分享”、“点赞”和“在看”!





Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/179813
 
115 次点击