創業公司如何像Feedly或Buffer那樣對其代碼進行更改,通過添加新功能並同時對其進行測試而不會破壞事件?有沒有沙箱框架,是否必須在內部構建,還是隻是在本地主機上覆制git回購並玩耍?創業公司如何在其產品正常運行時向其添加新功能?
回答
它被稱爲Staging-Environement
,你可以在網上找到許多關於Testing
和Software Quality
的資源。
另一方面沙盒是用於包含不可信程序的安全機制。
不確定你的意思。好吧,我收到sandboximg,但有沒有任何工具可以在不影響用戶體驗的情況下測試實時應用? –
「測試應用程序」是什麼意思?是關於用戶體驗驗證還是功能測試?您絕不會想要在實時服務器或生產服務器上進行功能測試。 –
有很多特定的技術可以將功能添加到軟件並將其部署到運行網站而不會破壞事物。這是一個很大的話題,但這裏有一些目前的最佳做法:
計劃特色是容易引入:小和彼此獨立地的,給定的業務需求,從而易於評估和必要時更改或恢復。
選擇最小化每個部署範圍和影響的體系結構。如果應用程序由定義的API訪問的獨立服務組成,則部署可以更新並重新啓動單個服務,從而減少對整個應用程序的影響。
計劃實施的大的特點是易於部署:在片實施,除了最後對用戶不可見,並部署了多個部署,從而減少了任何一個部署的風險。
由於部署時網站正在運行,因此需要連續版本兼容。例如,更改數據庫可能意味着三個生產更改:首先更改軟件以在舊版和新版數據庫上運行,然後更改數據庫,然後從軟件中刪除對舊數據庫版本的支持。您可能還需要確保當前版本的瀏覽器應用程序與服務器端軟件的後續版本兼容。
功能標誌,又名功能切換,通過留下隱藏,直到管理員在運行時通過一個用戶界面是應用程序的一部分激活它們的功能從部署刪除一些風險。功能標誌還允許回滾功能,而不會回滾整個應用程序,前提是該功能存在錯誤或對業務造成負面影響。 Wikipedia lists a few feature flag frameworks,你會發現更多,如果你搜索。
徹底的自動化測試和持續集成防止意外破損。手動迴歸對於任何網絡業務來說太慢,不可靠和昂貴,特別是對於初創公司而言。持續集成確保每次進行更改時都運行測試。
自動部署可防止在部署過程中發生手動錯誤,並且可以更頻繁部署,這意味着每個部署包含的變更較少,因此風險較低。(持續部署,又名連續遞送,被簡單地完全自動化部署,這意味着沒有人甚至有可能按下按鈕。)
金絲雀部署允許改變暴露於用戶的一個子集在投入到全面推出之前的生產中。
監控對捕獲部署到生產環境中的錯誤非常重要。監控兩個低級指標,例如服務器和服務正常運行時間以及高級指標,例如信用卡收費每分鐘。
自動回滾將錯誤部署到生產時的風險和停機時間降到最低。至少有一個人只需按下按鈕即可回滾到以前的版本。對於獎勵積分,當關鍵指標降至閾值以下時,完全自動回滾。 藍綠色部署提供了一種快速回滾方式。
Humble和Farley的Continuous Delivery涵蓋了很多這些主題。我意識到你並沒有詢問持續部署,但許多支持快速迭代的當前最佳實踐導致或適合於持續部署,所以它傾向於完全相同的討論。
- 1. 如何增加產品到公司?
- 2. 如何在後臺運行其他功能時在後臺運行功能?
- 3. 向CountVectorizer矩陣添加其他功能
- 4. VB.NET:向類添加其他功能
- 5. 如何僅在母公司產品發佈時獲取產品變體
- 6. 向plone.registry添加新記錄而不重新運行GenericSetup /在Plone附加產品中重新安裝產品
- 7. Prestashop:添加字段以在產品頁面前臺選擇運輸公司
- 8. 產品訂單,其中一個按鈕,點擊時行添加
- 9. 添加新產品
- 10. 在NSMuttable陣列添加產品不能正常工作
- 11. 添加驗證/如果其他語句公共類功能PHP
- 12. 向類添加新功能
- 13. 如何以編程方式創建功能區並向其添加控件?
- 14. 如何使用jQuery向表中添加新行,並向其添加遞增ID
- 15. 如何在運行時向JXTable添加新行?
- 16. 協會公司的產業軌道
- 17. 最後的URL產品添加#.VWxxxxxxxxx如何將其刪除?
- 18. 如何添加一個新的產品
- 19. Magento - 如何添加新產品狀態
- 20. 在其他功能之後運行UDF?
- 21. 列表添加功能無法正常運行?
- 22. 如何向JW Player添加功能(並對其進行自定義)?
- 23. Yodlee公司API其餘searchSite
- 24. 如何在運行時添加新列?
- 25. 如何在其他公司的安全服務器上運行localhost php文件?
- 26. Drupal:如何添加表單並對其執行功能
- 27. 想要在添加/創建新產品時存儲價格
- 28. 單擊按鈕時如何停止運行其他功能?
- 29. 如何向我的公司銷售非功能測試工具?
- 30. 數據庫設計的智能手機產品及其功能
你的問題並不簡單:)另外,它不僅適用於初創公司。我聽過的每家大型網絡公司都談到他們的部署實踐不斷增加功能,並且每天都會部署多次。 –