­

【故障公告】新版部落格後台部署時的配置問題引發故障

  • 2019 年 11 月 15 日
  • 筆記

最近,我們對新版部落格後台(Angular 8.2.7 + .NET Core 3.0)進行了灰度發布,如果您訪問部落格後台時跳轉到 https://i-beta.cnblogs.com/ ,說明使用的就是新版部落格後台。

今天我們在一次基於 gitlab-ci 的自動化發布過程中,由於操作問題在發布前沒有對 appsettings.Production.json 的修改進行保存,造成容器在啟動時使用了舊版的配置文件,再加上容器的健康檢查不能檢查出這種不正常情況(這個地方的改進還沒完成),最不該的是在發布後沒有對關鍵功能進行測試驗證以及值班人員沒有及時處理用戶回饋,從而造成 18:22~19:27 期間使用新版部落格後的用戶無法正常發布博文,非常抱歉由此給您帶來了麻煩,請您諒解。

我們會吸取教訓,並採取以下改進措施:

  • 更高優先順序改進健康檢查。一是容器的健康檢查,二是阿里云云監控的健康檢查。當關鍵功能不可用時,讓健康檢查失敗(之前的健康檢查沒有對業務功能進行檢查)。這樣發布時如果出現問題,容器健康檢查失敗,docker swarm 就不會部署新容器。當正在運行的容器出現問題影響關鍵功能的使用時及時報警。
  • 儘可能實現在生產環境發布後用“機器人”對關鍵功能進行測試驗證。
  • 每次自動化發布時在值班群發消息通知值班人員留意用戶回饋。