繁体   English   中英

开发环境 - 从开发到登台服务器到生产的VCS

[英]Development environment - VCS from development to staging server to production

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

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

希望这是有道理的!

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

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

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

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

我们永远, 永远 ,通过FTP直播网站上编辑文件。 总而言之,我们已经使用这个设置将近2年,除了临时服务器上偶尔的冲突,我们从来没有遇到任何问题。

您实际上可以在本地计算机上安装SVN服务器,我建议将其安装在Web服务器上(假设您进行备份)。 最容易做的事情,因为只有你使用它,才会使用file://协议,但是使用svnserve会更加健壮,如果你想花时间去做,那就是首选的方法。

@Michael,我不同意 - 我会说最好安装在linux vps上,特别是如果你已经为托管服务付费了。 无论我在哪里,无论我在哪台计算机上,我都能从我的svn repo中浏览和下载内容。

@nicky,几年前我开始使用svn(和版本控制),我采取了婴儿步骤,这使得它更容易解决。

如果我不得不再做一次,我会先阅读svn书 这本书布置得非常好,并且通过犁过的时间不超过1-2天。

在您阅读时,请使用apache前端在Linux vps上安装svn。

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

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

不要担心创造完美的结构。 重新组织起来很容易,特别是在你刚开始的时候。 在将几个项目导入svn之后,您将开始了解哪些项目应具有自己的“主干/标记/分支”目录结构,哪些项目可以组合。

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

一旦你习惯了版本控制,你永远不会回去,祝你好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM