網際網路企業要求的都是快速迭代滿足使用者需求而且還要有一定的可靠性。那如何能做到上面三點呢?
一般是兩種策略,對於每個新上的功能和bug都需要做乙個開關,當這個功能有問題的時候可以直接關掉回歸穩定版本
另外一種策略就是建乙個stage環境,這個環境就是乙個穩定可靠環境,當新部署的產品不可解決的問題時候需要回滾的時候就可以將stage環境頂上去,滿足基本需求從而留有足夠的時間來解決新部署產品的問題,再次上線。
很多時候也兩個方法一起使用
那如何判斷是否有嚴重問題呢?就需要乙個monitor來監控這個產品,定義一些規則當feature出現問題的時候關掉feature,出現不可逆的問題時候則回滾到stage,從而保證整個產品的穩定性。
有了stage就可以做自動化部署上線,每次**更新自動化上線測試,這樣既能保證質量又可以保證功能的快速上線
那如何做到自動化部署上線,這就需要在主分支上有乙個穩定的版本,那如何保證更新的**有一定質量,除了有嚴格的**審查流程,還得有ut保證一定的測試**覆蓋度,至少在90%以上的覆蓋才可以認為有一定的**質量,最好有smoke test,但是這和實際的環境有關係,因為往往實際上環境只有乙個,如果有多個可能會好很多。有了這些保證之後可以考慮將經過checkin的**做每次build的部署或者daily的部署,這才有意義,要不然部署也是一堆的bug,毫無意義。
mysql自動化部署方案 什麼是自動化部署?
自動化部署將可交付產品,快速且安全地交付使用者使用的一套系統和工具。系統會自動構建 測試並準備 變更,以便將其發布到指定環境的過程,包括開發環境 預發布環境 生產環境等。自動化部署工具介紹 簡要介紹 該工具是資料庫自動化部署調優工具,支援mysql 8.0.17 8.0.18和postgresql ...
高質量CSS之二 模組化CSS
模組化可以讓 高度重用,顯著提高開發效率。關於模組化,比較成熟的是程式設計領域的 類 在物件導向程式設計方式中,類 是個非常核心的概念,可以說物件導向思想的基礎就是 類 關於模組化,類 有很多成熟的技巧,例如封裝 多用組合少用繼承原則等。css的模組化是個有趣的話題,它是個新的領域,很多人都有自己的...
自動化部署job
bin sh the discription of start.sh echo e the script function 1 deploy the tomcat server if files exist.echo e 2 restart the tomcat server if files no...