Skip to content

系統上線心得

JackKuo edited this page Jun 14, 2020 · 4 revisions

基於之前幾次的上線經驗,在上線前幾天最好不要改東西,可惜這次還是破功,有小改些東西。

這是因為怕改了某些功能,進而影響到其他的功能而沒發現,真正上線時難保不會觸發新 bug。

驗收

5/22 學生會期末慰問完,秘書長來驗收成果,會長投票制度設計跟他當初設想的不一樣,因為當初只是用通訊軟體大概談一下需求,沒有逐一釐清,距離投票只剩下兩週時間,說真的很趕。

要跟使用者談需求,使用者通常不會知道自己要什麼,開發者需要主動詳細的去確認,才不會浪費太多時間在錯誤的開發方向上。

資料準備

  1. 請選委會準備好資料、照片(檔案大小盡量小於 1MB)
  2. 將準備完成的資料庫匯出備份(上線測試時還原比較快)
  • 備份:mongodump --host localhost --port 27017 --db voting_sa
  • 還原:mongorestore --drop --host localhost --port 27017 -uroot -ppassword --db voting_sa .

部署

  1. 開啟 gzip 壓縮 (針對 png 圖片要另外開)
  2. NODE_ENV=production、改 secret
  3. 開 port,檢查是否只有 22, 80, 443 開啟。我有另外開 27017 給自己的 IP 做連線。
  4. 記得改資料庫可投票時間
  5. WAF(這次沒使用)

此次是使用 AWS 學生免費帳號做部署,因此主機位置在維吉尼亞洲,實測對台灣連線速率上下約 50 Mbps。

使用 EC2 的話,取消勾選「刪除 instance 時自動刪除 volume」,避免機器誤刪時資料就沒了。

由於是使用學生帳號,沒辦法使用 WAF 服務。

上線測試

  1. 記得匯入圖片
  2. 記得匯入可投票的人
  3. 記得多做幾次測試

測試時有請選委會、學生會的人幫忙測試系統,這個很重要,因為開發者永遠不會知道使用者會怎麼操作這個系統。

實際上線

遇到的狀況有:

  1. 顯示候選人跑版
  2. 議員投票確認 modal 無法往下滑導致點不到投票鈕

這兩個問題在 40 分鐘內發布兩個更新解決


隔了一天後遇到的狀況有:

  1. 南大校區有許多大四學生無法登入

經調查,是校方提供 OAuth 連線出問題,幸好計中同仁連夜搶修,萬分感謝!

改善措施:

  1. 要記得測試手機版頁面,不能只用瀏覽器的手機畫面模擬,要實際用手機看過
  2. 最好多請不同科系、年級的同學來測試

後記

  • OAuth 帳號每年都要重新申請一遍
Clone this wiki locally