4

我已经阅读了许多与本文类似的主题,但老实说,我仍然不确定最佳方法(作为起点)。我是一个小办公室的独立开发人员,我有大约 30 个网站,这些网站托管在 linux VPS 上。我想开始使用版本控制(可能是 SVN)并设置一个登台服务器。目前,我在使用 FTP 上传到实时服务器之前在我的机器上进行本地开发,或者偶尔进行小的更改,我直接编辑远程文件,这不是一个理想的方法。

我正在寻找一些关于如何改善我的开发环境的指导。我想我应该在网络服务器上安装 SVN,然后我可以检查本地机器的版本(我认为这也需要 SVN)。另外,如果我想设置一个登台服务器,我是否应该为每个实时网站设置子域,然后使用这些子域显示客户端对站点的更改,然后再使它们生效?

希望这是有道理的!

4

3 回答 3

1

这就是我们在工作中所做的:

我们有一个运行 Apache 的登台服务器和一个 Subversion 服务器。我们有一个 post commit hook 可以更新 htdocs 目录中的工作副本,这样,当开发人员提交某些内容时,它会自动在登台服务器上更新,因此每个人都可以看到最新的代码。

在客户端的生产服务器(我们可以控制的服务器)上,我们安装了 Subversion 客户端,并且该网站是一个工作副本。当我们需要更新实时站点时,我们登录到 shell 并运行svn up. 如果您这样做,请确保限制对 .svn 目录的访问,无论是使用 .htaccess 文件还是从主 Apache 配置。

我们有一个管理项目的自定义应用程序,但这只是因为我们很懒,不想手动设置每个项目,应用程序会创建必要的目录和工作副本。您可以编写一个快速脚本来执行此操作。

我们永远不会实时站点上通过 FTP 编辑文件。总而言之,我们已经使用此设置将近 2 年了,除了临时服务器上的偶尔冲突之外,我们从未遇到任何问题。

于 2009-12-14T19:35:04.590 回答
0

@Michael,我不同意 - 我会说最好安装在 linux vps 上,特别是如果您已经为托管服务付费。我发现能够从我的 svn 存储库中浏览和下载东西非常有帮助,无论我身在何处,无论我在什么计算机上。

@nicky,几年前我开始使用 svn(和版本控制),我采取了一些步骤,使其更容易解决。

如果我不得不重来一遍,我会先阅读svn 书。这本书的布局很好,没有超过1-2天的时间就读完了。

当你阅读的时候,在你的 linux vps 上安装 svn 和一个apache front end

完成后,选择一个网站并将其导入 svn。这就是我构建我的 svn 存储库的方式。例如,假设我的 repo 托管在http://mysvn.mydomain.com/svn/

  mywebsite1
     - trunk
     - tags
     - branches 
  mywebsite2
     - trunk
     - tags
     - branches 

不要担心创建完美的结构。重新组织非常容易,尤其是在您刚开始的时候。将一些项目导入 svn 后,您将开始了解哪些项目应该有自己的“主干/标签/分支”目录结构,哪些可以组合。

为了创建测试环境,我完全按照您的描述进行操作。我使用构建脚本从 svn 签出并将文件下载到映射到“test.clientsite.com”等子域的目录中(我主要在 java 中工作并使用 ant 和 maven,但我认为你可以使用任何脚本语言你是熟悉)。

一旦你习惯了版本控制,你就再也回不去了,祝你好运!

于 2009-12-14T16:36:23.083 回答
0

您实际上可以在本地计算机上安装 SVN 服务器,我建议您使用它来代替将其安装在 Web 服务器上(假设您进行了备份)。最简单的事情是使用file://协议,因为只有您使用它,所以使用协议svnserve更健壮,如果您想花时间去做,这是首选方法。

于 2009-12-14T15:19:48.837 回答