我的配置:

  • Windows 网络共享 (z:) 上的 htdocs
  • Web 开发人员使用 Dreamweaver 签出并修改并签入回驱动器 z
  • LAMP 在 Hyper-V 上虚拟化的 Ubuntu 服务器上运行,并使用 apache 指向 dev 的 z 驱动器以测试网站
  • 在实时服务器上通过 FTP 上传

现在:

我需要对存储库进行多次访问,将它们保存在网络共享上,并且我们管理大约 200 个网站。所有 Web 开发人员、管理员和 IT 人员都需要访问共享。

我发现创建 svn 服务器对我来说是最好的方法,所以我在 Hyper-V 上虚拟化的 Ubuntu 服务器上创建了它。现在,我在 Ubuntu 服务器上有本地存储库,但我希望它们位于我的网络驱动器上,并且如果可能的话,我希望进行提交后操作,以便直接 ftp 到我的实时服务器上。你们认为 WebDav 解决方案会更好吗?

提前致谢

安吉洛

有帮助吗?

解决方案

Subversion 服务器更像是一种传统的客户端-服务器架构,配置 SVN 服务器以响应网络访问,从所需的远程计算机检查代码,并在那里构建它。

较旧的源代码控制软件直接从文件存储库读取。虽然 Subversion 确实支持直接从存储库读取,但在直接文件读取之间引入网络通常会产生您希望避免的问题。不要使用直接文件访问,而是使用网络访问,该访问在编写时考虑了可能的超时、存储库中断(由网络中断引起)和其他与网络相关的问题。

如果您发现 svnserve 访问 SVN 的技术有点笨拙(您必须分配一个端口,并且可能在防火墙上打开一个端口),听起来您的环境通过 HTTP 或 HTTPS 建立隧道 SVN 会做得更好。有一个 Apache 模块(名为 mod_svn),它将 HTTP GET 及其 URL 转换为 SVN 请求,并将数据移回,就好像它是一个简单的网页请求一样。该模块还允许对 SVN 存储库进行一些有限的浏览。

其他提示

我要指出的是,与其将提交后设置为将 FTP 文件设置到服务器,不如设置一个添加到每个站点的简单 PHP 文件来触发服务器运行颠覆更新,这可能对您有利。这避免了FTP的安全缺陷。您所要做的就是从 subversion 中拉取站点一次,确保所有权和权限正确,确保允许这个特定的 php 文件传递​​ shell 命令,然后您的提交后挂钩将运行 php 文件反而。显然,必须为每个存储库正确配置提交后挂钩,但您也必须使用 FTP 方法来执行此操作,并且设置可能会更复杂。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top