2011-05-23 89 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