2011-05-23 102 views
3

在将生产配置文件部署到生产之前,只测试生产配置文件的最佳方法是什么?在非生产环境中测试生产配置文件

非生产环境的配置文件可以在各自的环境中轻松测试。但是在生产部署发生之前,如何测试生产环境?

例如,STAGE中的数据库名称与prod中的数据库名称不同。

如果STAGE配置文件具有正确的DB名称并且测试正常,该怎么办?现在,prod配置文件在配置文件中有“typo”。直到它被部署到生产中后才会发现这个错字。

有没有一种方法来测试这个配置文件与错字错误,然后才能生产?

感谢

回答

0

下的web.config文件appSettings,我用这个键:

<add key="CurrentEnvironment" value="0"/> 
<!--   
    Public Enum Environments 
     Development = 0   
     Alpha = 1     
     ReleaseCandidate = 2  
     Production = 3   
    End Enum 
--> 

而且你可以在我的意见看,这相当于一个枚举在我所使用像这样Helpers.vb类:

Public Shared CurrentEnvironment As Environments = DirectCast(WebConfigurationManager.AppSettings("CurrentEnvironment"), Environments) 

这可以让你编写环境的特定代码,如URL,数据库连接等

我发现它非常有帮助。

- 抱歉的VB。.NET代码,但我敢肯定,你可以很容易隐蔽 - 基于OP编辑

编辑:

你为什么不创建一个Unit Test project

+0

-1 - 用于暗示这样的事情。 – manojlds 2011-05-23 18:27:22

+0

因为为什么?它对我们公司很好。我只需要一个项目来查看项目周期的阶段。在我的Helpers类中,我公开了项目调用的属性和方法,但是根据项目当前所在的阶段行为不同。 – 2011-05-23 18:33:01

+0

应用程序不应该知道它处于什么环境。环境应该知道如何配置正在部署到它的应用程序 – manojlds 2011-05-23 18:35:42

3

的方法一些使用是有一个临时的环境,在各方面都对生产环境相同。

在完全使用解决方案之前,您可以在尽可能接近生产环境的情况下进行测试。

0

也许最好的方法是在生产环境中创建一个单独的网站作为“舞台”。然后,您可以首先将您的新配置发布到此站点进行测试,如果一切正常,请将其迁移到您的真实生产站点。否则,无法保证它的行为与生产服务器上的行为相同。

1

你必须确保对环境的CONFIGS是在大部分值类似默认情况下,只有具有的配置文件被覆盖的子集(约定优于配置。

您必须具有PREPROD或STAGING或PROD类似的环境,其中部署与PROD完全相同,配置文件相同,但某些值(例如计算机信息)除外。 PREPROD的部署可以让你对PROD配置没问题的情况充满信心。

以上两点应该对您有所帮助。您还可以看看AB部署或Blue-Green deployment

相关问题