軟件開發生命週期包含不少活動,如計劃,分析,設計,開發,不一樣類型的測試,部署,運維。這些活動發生在不一樣的環境. 咱們對其環境分類爲 development, testing, staging, and production environments ,以下圖:html
顧名思義,開發工程師開發時使用的環境,每位開發工程師在本身的dev分支上工做,提測前或者開發到必定程度,工程師Leader合併代碼,進入聯合調試。
沒有客戶真實數據。數據庫
也就是咱們測試工程師工做的環境,通常會由測試工程師本身完成環境部署,而後在此環境進行測試。Bug修復後,須要發版更新測試環境來回歸Bug。沒有客戶真實數據。安全
測試環境到生產環境的過渡。測試環境可能會受到一些限制,一些流程或者數據沒有測試到,就能夠在預發佈環境進行驗證,從而保證產品上線質量。有通過脫敏客戶數據。服務器
預發佈環境和生產環境區別:
1)預發環境中新功能爲最新代碼,其餘功能代碼和生產環境一致。
2)預發環境和生產環境的訪問域名不一樣。微信
Test環境與Stage環境區別網絡
儘管一般在開發過程當中進行測試,但在過渡環境中進行用戶接受測試的需求卻相當重要。 Stage環境是客戶生產環境的徹底相同副本,一般還包含出於安全目的而通過清理的真實生產數據。 它以與生產服務器相同的方式託管,而且涉及相同的設置和更新操做。 所以,在 Stage環境中進行測試提供了最可靠的方法來檢查代碼質量並確保生產服務器成功。
即便對持續的代碼質量保證相當重要,測試環境也幾乎沒法達到客戶系統仿真的真實程度。 所以,一般的最佳作法是在將應用程序代碼移入生產環境以前,在過渡環境中對其進行完整的測試。架構
即線上環境,用戶使用的環境。由特定運維工程師來維護,通常人沒有權限去修改。所有的生產數據,真正客戶使用的環境。運維
更多請參考微服務
https://en.wikipedia.org/wiki/Deployment_environment性能
若有想了解更多軟件設計與架構, 系統IT,企業信息化, 團隊管理 資訊,請關注個人微信訂閱號:
做者:Petter Liu
出處:http://www.cnblogs.com/wintersun/ 本文版權歸做者和博客園共有,歡迎轉載,但未經做者贊成必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,不然保留追究法律責任的權利。 該文章也同時發佈在個人獨立博客中-Petter Liu Blog。