原文鏈接:http://blog.csdn.net/blade2001/article/details/7194895
軟件應用開發的經典模型有這樣幾個環境:開發環境(development)、集成環境(integration)、測試環境(testing)、QA驗證,模擬環境(staging)、生產環境(production)。
通常一個web項目都需要一個staging環境,一來給客戶做演示,二來可以作為production server的一個“預演”,正式發布新功能前能及早發現問題(特別是gem的依賴問題,環境問題等)。
From wiki: Staging site, in website design, is a website used to assemble, test and review its newer versions before it is moved into production. This phase follows the development phase. The staging phase of the software life-cycle is often tested on hardware that mirrors hardware used in the production environment. The staging site is often different from the development site, and provides a QA zone that is separate from the development or production environments.
Normally before deploying an updated version of software to the production environment, the update has been tested in the staging environment. The staging server will resemble the production environment where the clients can do the user acceptance testing activities. Tests on Staging server/site should be passed before deployment of system on live server, i.e. production environment.
staging server可以理解為production環境的鏡像, QA在staging server上對新版本做最后一輪verification, 通過后才能deploy到產品線上. 有點網訊SERCM流程里面的SDA驗證用的環境, 盡最大可能來模擬產品線上的環境(硬件,網絡拓撲結構,數據庫數據)
The staging environment consists of two components:
The staging database server.
The staging server.
Staging Database Server
--------------------------------------------------------------------------------
The staging database server contains the business data, such as marketing campaigns and product catalogs, and database resources that you want to stage to the database servers in the production environment.
Business users can update business data in the staging environment so that you can test and approve the changes before you incorporate the changes into the run-time environment. The staging environment prevents disruption of the run-time site and services by isolating the test and production systems.
Staging Server
--------------------------------------------------------------------------------
The staging server is a mirror of the production business management server.
You create staging projects and routes on the staging server to deploy site updates from the test environment to the production environment. You can also use the staging server to deploy updates to geographically distributed environments across a wide area network (WAN).
For example, business users and internal developers might update various aspects of the retail Web site at your headquarters in New York, where your test and production environments reside at the local data center. However, you might also maintain production environments in Seattle, Los Angeles, and Chicago. Therefore, you can use Commerce Server Staging (CSS) on the staging server to deploy local site updates to the production servers in other remote cities.