在NAS SMB卷上使用VisualSVN Server维护代码库

本文涉及的产品
对象存储 OSS,20GB 3个月
日志服务 SLS,月写入数据量 50GB 1个月
阿里云盘企业版 CDE,企业版用户数5人 500GB空间
简介: VisualSVN Server 是 Windows 平台上流行的 SVN 形式的代码管理工具。以下我们将介绍把 NAS SMB 卷作为 VisualSVN 代码库存储中心时会遇到的几个问题以及相应的解决方法。

VisualSVN Server[1] 是 Windows 平台上流行的 SVN 形式的代码管理工具。以下我们将介绍把 NAS SMB 卷作为 VisualSVN 代码库存储中心时会遇到的几个问题以及相应的解决方法。

1. 安装错误的解决方法

我们以 VisualSVN Server 3.3.1 版本为例,在安装 VisualSVN Server 时我们可以选择使用 NAS SMB 卷的 UNC 路径作为 repo ,但是这样选会提示无法安装:
UNC路径无法安装

接着我们尝试将NAS SMB卷挂载到一个盘符上然后再安装,安装过程中会出错:
盘符安装出错

1.1. 解决方法

这个问题的解决办法就是用 SYSTEM 账号挂载 NAS SMB 卷,然后用新挂载的盘符作为 repo 的安装地址。具体 SYSTEM 账号挂载 NAS SMB 卷的方法请参见 以SYSTEM身份挂载文件卷解决SQLServer使用NAS SMB文件卷等问题[2]。
注意 SYSTEM 账号挂载成功之后在文件管理器上会显示成叉号,但是是可以使用的。
盘符叉号

在 Y:\ 盘安装,
Y:\盘安装

提示要用 UNC 路径,请忽略,
提示要用 UNC 路径,请忽略

最终 VisualSVN 安装成功。
最终 VisualSVN 安装成功

2. 打开代码库 URL 时提示内部错误

创建代码库 repo 之后,打开代码库的 URL 时会提示内部错误:
创建代码库

打开代码库的 URL 时会提示内部错误

查看日志可以发现如下错误:Could not open password file: Y:/Repositories/htpasswd
查看日志可以发现如下错误

2.1. 解决方法

经过实验后发现安装AD服务可以解决这个错误。安装AD的方法可以参考这一篇文章:通过安装和配置AD域解决Windows Server 2016的IIS无法加载SMB文件卷文件的问题[3]。

配置AD域控制器结束后会重启,重启完成之后登陆新的代码库 URL 就不会出现错误了。这时候需要在代码库上配置一个用户,然后就可以登陆进代码库网页。

忽略这个证书错误:
忽略这个证书错误

不会出现 internal error:
不会出现 internal error

配置 VisualSVN 用户:
配置 VisualSVN 用户

登陆成功:
登陆成功

3. 如何使用 SVN 上传下载代码

在 Windows 环境下比较常用的办法是使用 TortoiseSVN 客户端或者 VisualStudio SVN 插件来连接 SVN 上传下载代码。

3.1. TortoiseSVN

TortoiseSVN 可以在其官网下载
TortoiseSVN 官网下载

安装完成之后打开命令行,使用以下命令:

svn checkout https://iis-test-2019.iis-test2016.com/svn/repo/
svn add helloworld.txt
svn status
svn commit -m "Initial Commit"

svn checkout https://iis-test-2019.iis-test2016.com/svn/repo/

svn add helloworld.txt

svn commit

上传 helloworld.txt 成功

以上就是 svn 命令行加 VisualSVN 在 NAS SMB 卷上的基本使用方法。

3.2. Visual Studio Code SVN 插件

Visual Studio Code 是 Windows 平台广泛使用的开发 IDE。它可以通过安装插件的方式支持 SVN。
Visual Studio Code SVN插件

安装完插件之后打开刚才svn同步下来的文件夹,就可以看到SVN历史以及添加和上传新文件。
SVN历史

上传新文件

上传同步成功

3.3. Visual Studio SVN 插件

可以在 Visual SVN 官网下载 VisualSVN for Visual Studio插件。

安装完插件之后打开刚才svn同步下来的文件夹,创建helloworld3.txt,并添加到 SVN
创建helloworld3.txt

上传到 SVN

上传成功

验证成功

4. 参考文档

4.1. VisualSVN Server: https://www.visualsvn.com/server/

4.2. 以SYSTEM身份挂载文件卷解决SQLServer使用NAS SMB文件卷等问题:https://yq.aliyun.com/articles/715687

4.3. 通过安装和配置AD域解决Windows Server 2016的IIS无法加载SMB文件卷文件的问题:https://yq.aliyun.com/articles/692463

相关实践学习
基于ECS和NAS搭建个人网盘
本场景主要介绍如何基于ECS和NAS快速搭建个人网盘。
阿里云文件存储 NAS 使用教程
阿里云文件存储(Network Attached Storage,简称NAS)是面向阿里云ECS实例、HPC和Docker的文件存储服务,提供标准的文件访问协议,用户无需对现有应用做任何修改,即可使用具备无限容量及性能扩展、单一命名空间、多共享、高可靠和高可用等特性的分布式文件系统。 产品详情:https://www.aliyun.com/product/nas
目录
相关文章
|
网络安全 开发工具 文件存储
在群晖NAS上快速搭建属于自己的Git Server
在群晖NAS上快速搭建属于自己的Git Server
1707 0
|
存储 弹性计算 文件存储
Windows容器使用阿里云NAS SMB文件系统做持久化存储目录
随着Windows容器逐渐普及和发展,Windows容器持久化存储以及容器间共享的需求越来越高涨。 本文介绍如何让Windows主机正确配置NAS SMB文件系统,支持Windows容器让Docker镜像使用挂载NAS SMB文件系统的子目录作为持久化存储目录。
6686 0
Windows容器使用阿里云NAS SMB文件系统做持久化存储目录
|
网络协议 安全 Linux
通过NAT网关实现本地客户端访问NAS SMB文件系统
通过NAT网关实现本地客户端访问NAS SMB文件系统。帮助用户使用本地的MacOS、iPad、Linux、Windows等客户端连接阿里云上的NAS SMB文件系统,实现文件跨机器共享和永久存储。 虽然NAT网关可以将NAS SMB挂载点开放到公网方便用户本地客户端进行访问,但是直接暴露NAS SMB文件系统到公网有安全风险,任何人拿到公网地址和端口都可以进行访问。 推荐使用VPN或者专线方案将连接保护起来。VPN + SSL的方案可以参考MacOS客户端连接阿里云NAS SMB文件系统,以及通过VPN网关实现本地数据中心访问阿里云NAS。
3517 0
通过NAT网关实现本地客户端访问NAS SMB文件系统
|
7月前
|
文件存储 Windows
Windows server 2012 服务器挂载NAS盘
Windows server 2012 服务器挂载NAS盘
|
文件存储 Windows
阿里云文件系统NAS SMB如何修改根目录权限
阿里云文件系统服务SMB文件系统(NAS SMB)在没有打开SMB ACL功能时,只支持只读操作,无法修改根目录权限。 在参考《将阿里云SMB协议文件系统挂载点接入AD域》https://help.aliyun.com/document_detail/154930.html,打开SMB ACL功能之后,用户即可修改根目录权限。
805 0
阿里云文件系统NAS SMB如何修改根目录权限
|
存储 弹性计算 Linux
企业级客户使用阿里云文件存储NAS SMB配置Home Directory服务指南
阿里云文件存储服务提供SMB/NFS/CIFS等多种文件存储协议,单文件系统可以存储海量数据,方便企业级客户在多个用户之间进行文件共享和协同合作。其中SMB协议是微软生态默认的文件共享协议,经过几十年的长期积累,具备广大的用户群,能够支持Windows、MacOS、Linux等多种客户端。阿里云NAS SMB文件存储通过支持AD域服务,可以对一个企业不同部门的不同员工创建不同的用户身份,结合ACL权限控制功能,达到企业有序可控地共享整个文件系统。
715 0
企业级客户使用阿里云文件存储NAS SMB配置Home Directory服务指南
|
网络协议 Linux 文件存储
NAS SMB ACL自动配置自动检查脚本
NAS SMB ACL的系列文章详细叙述了如何安装并启用AD域服务与DNS服务,将阿里云SMB协议文件系统挂载点接入AD域,将Windows客户端加入AD域,Windows客户端以AD域用户身份挂载并使用阿里云SMB协议文件系统。 即便我们提供了多篇文章尽力描述清楚整个NAS SMB ACL的配置步骤,但是复杂的流程仍然给用户造成了困扰。为了让配置更加简单,我们开发了NAS SMB ACL自动配置和自动检查脚本,将复杂的步骤尽量压缩在数个Powershell命令中。 注意:该Powershell每次运行一条修改命令,会弹出确认框,需要手动确认要执行的命令。
442 0
|
网络协议 Linux 网络安全
MacOS客户端通过阿里云VPN连接阿里云NAS SMB文件系统
SMB远程文件传输协议在远程文件系统领域具有相当的统治地位。主流客户端厂家,包括微软、苹果以及Linux生态圈都支持SMB协议,并且苹果的MacOS已经将SMB作为其默认的远程文件协议。作为国内云厂商的龙头企业,阿里云NAS SMB文件系统也可以支持MacOS客户端。
5567 0
MacOS客户端通过阿里云VPN连接阿里云NAS SMB文件系统
|
文件存储 SQL .NET
在 NAS SMB 卷上用 Visual Studio 调试 ASP.NET + SQLServer 项目并部署到 IIS 服务
阿里云 NAS SMB 卷具有高可用高吞吐大容量等特点,可以很好地解决网站和数据库项目的存储问题。本文将介绍如何在 NAS SMB 卷上用 Visual Studio 调试 ASP.NET + SQLServer 项目并把项目部署到 IIS 服务作为正式服务开放出去。
2578 0
在 NAS SMB 卷上用 Visual Studio 调试 ASP.NET + SQLServer 项目并部署到 IIS 服务
|
文件存储 关系型数据库 MySQL
在 NAS SMB 卷上搭建 IIS + WordPress + MYSQL
上述步骤完成之后 WordPress 和 MySQL 都能够在 NAS SMB 卷上存储,不用担心存储容量问题和数据可用性问题。
2722 0
在 NAS SMB 卷上搭建 IIS + WordPress + MYSQL

相关产品

  • 文件存储 NAS