设置开发服务器引用

时间:2009-10-12 20:20:25

标签: testing xampp production staging environments

你们有什么建议作为设置测试服务器(xp pro上的xampp),登台服务器和生产服务器的良好参考,同时还有svn?我是“铁杆”开发的小伙子,但是想要从右脚开始,像专业人士一样设置我的环境。我有几个项目即将推出,并希望向前迈出两步,而不是前进一步,后退两步。

我最不了解的主要领域是......在所有服务器和数据库之间保持文件路径正确(处理localhost / site.com / file.html与www.site.com/file.com),将更新推送到下一个服务器 - 测试分段到生产,以及使用svn(我们将有几个人同时在同一个项目上工作)。

每个项目都有一台服务器,因此不需要有关负载平衡和设置多个服务器的信息。除非另有说明,否则我们还计划对svn使用netbeans或eclipse。

生产和登台服务器将是LAMP,而测试将是xp pro上的xampp。感谢您的帮助!

3 个答案:

答案 0 :(得分:1)

问题的3个部分:

1)服务器之间的配置文件差异 - 我们在项目中有环境文件夹,我们存储配置文件以保持多个版本。

所以喜欢:

Solution folder
    |--> Environment
      |--> Development
      |--> Staging
      |--> Production
    |--> Src
      |--> Project folders

然后构建我们的构建脚本以接受环境参数并拉出正确的环境文件夹,在部署它们时覆盖原始文件。

2)将代码更改推送到环境服务器 - 在SVN中,我们为每个项目的每个环境设置分支。 所以喜欢:

SVN Root
|--> Project
  |--> Branches
    |--> RB-Development
    |--> RB-Staging
  |--> Trunk

Trunk是我们的生产代码。

我们还为我们正在处理的每个功能集创建一个新分支。然后在准备部署时,我们将其合并到正确的环境分支;构建工具正在监视这些环境分支,并在提交代码时自动部署到正确的分支。

3)多人使用SVN - 为您将要处理的每个垂直功能集创建项目的分支。因此,对于购物车类型的应用程序,您将拥有关于客户,产品,订购等的功能......这将减少同时在同一分支上工作的人数。然后根据需要在这些分支之间以及相互之间或环境分支中合并代码。听起来比实际情况复杂。

答案 1 :(得分:1)

回应Chad要求提供更多环境文件夹的示例&配置文件,这里是进一步的信息:

我们将项目使用的任何设置拆分为配置文件;我们正在构建网站,因此这些配置文件是从web.config引用的。

例如在我们的Configuration文件夹中,我们有一个ConnectionStrings.config,里面有这个(填写你的信息而不是[] s当然):

<connectionStrings>
    <add name="APP"
         connectionString="Data Source=[];Initial Catalog=[];uid=[];password=[]"
         providerName="System.Data.SqlClient" />
</connectionStrings>

它的路径是:

Site root
|--> Configuration

因此在Web配置中引用它:

<connectionStrings configSource="Configuration\ConnectionStrings.config" />

因此,在我们的解决方案文件夹中,我们将拥有以下结构:

Solution folder
|--> Environments
  |--> Development
    |-->Configuration
      |--> ConnectionStrings.config
  |--> Production
    |-->Configuration
      |--> ConnectionStrings.config
  |--> Staging
    |-->Configuration
      |--> ConnectionStrings.config
|--> Src
  |--> Project folder (site root)
    |--> Configuration
      |--> ConnectionStrings.config

与任何其他设置相同,通常放入我们的AppSettings.config。所以像文件的路径或任何其他可能改变的设置。

<appSettings>
    <add key="FilePath" value="C:\FileStorage"/>
</appSettings>

答案 2 :(得分:-1)

好。让您的应用程序商店开发和生产配置。数据库访问和路径之类的东西。没有理由为不同的服务器保留相同的路径(特别是如果你混合使用unix和windows)