資料平台上線,雲端重建正式開跑:14站當天上線
8月5日是喵宇宙從「網站各自散落在雲端平台上」轉向「每個網站都能從乾淨狀態重建、並且有證據證明沒有掉東西」的關鍵一天。這天稍早,前幾天在背後搭建的資料平台第一版正式併入主線,公司與地址兩項資料的唯讀驗證都通過。
先盤查才知道:64個網站門面都已經在雲端,卻沒有一個能從零重建
在真的動手重建之前,我們先把喵宇宙的65個註冊網站,拿去和雲端平台上238個既有專案交叉比對,並且逐一實際打開每個網站的首頁。結果65個入口裡,59個直接回應正常、5個經過轉址後也能正常打開,只有1個網站的網域根本沒有設定,等於64/65個網站前台其實都已經在雲端上服務。但同時也發現,這65個網站沒有一個能保證「從一份乾淨的原始碼重新建置」就得到現在線上一模一樣的內容——很多網站的建置程式依賴著早已不在版本控制裡的舊資料或舊路徑。這個結論,讓「先盤點清楚、再訂一套重建與驗證的規則、最後才分批動手」變成接下來的主線工作。
同一天也試著把交通類的官方資料(火車站、時刻表、票價等)重新抓一輪存進新的資料平台,但被平台自己的把關機制擋下——其中一個資料來源在檔案裡自報的日期是2018年5月15日,系統判定太舊,直接整批標成擋下、不硬把舊資料當新資料用;另一個資料來源需要申請專屬的程式化存取憑證,我們手上沒有,測試後確認無法繞過,同樣照實記錄成待補。
「零流失雲端重建」正式開跑,原本49站的待辦清單一天做掉7站
重建的做法是:每個網站都從全新、乾淨的原始碼重新結帳建置兩次,確認兩次結果逐檔一致;建好後先部署到一個只有內部看得到的測試網址(Preview)驗證代表頁、404頁、搜尋引擎清單等都正常,再切換成正式對外網址(Production),同時保留前一個版本以便隨時退回。當天下午第一批就有14個網站通過這套流程正式上線,另外51個網站因為資料缺口或設定不一致被擋下,等後續處理。原本掛在同一個註冊清單裡、疑似和B 站重複的一個網域,當天也被正式裁定併入B 站,兩個網站合而為一個身分。晚上又完成第二批4個網站,加上稍晚陸續補上的另外兩個站與A 站,原本49個站的待辦清單,收工前已經完成7站、只剩42個還在等。
A 站差點讓56個舊頁面消失,幸好在上線前煞車
當晚重建A 站時,第一次做出來的版本雖然和現有網址清單筆數一致,但驗收發現有56條原本不在網址清單、卻在現在正式站上能正常打開的舊指南頁面,如果直接換上新版本,這56頁會全部變成404。我們在切換正式網址之前就攔了下來,退回舊版本,重新從原始資料一筆一筆找回這56頁的來源,補齊之後才真的換版,並且把這56條路由寫進一個新的檢查項目裡,以後重建同一個網站,只要少了任何一條都會直接失敗、不會悄悄漏掉。
同一天,另一組人也發現網站群整合測試裡,有一項要在20分鐘內跑完的視覺檢查,隨著要測的頁面越來越多,實際執行時間已經逼近上限邊緣,把時間上限拉長到30分鐘,四個受影響的檢查項目才全部恢復正常。這天結束時,雲端重建的骨架、規則和第一批成果都已經到位,接下來幾天要做的,是把剩下的網站一個一個修好資料缺口再送上線。
這天其他出錯的地方
- 第二波雲端重建過程中,一次操作意外建立了一個沒有任何部署內容的空白雲端專案,已經列入待批准清理,還沒有自行刪除。
- 第一次把某個網站接上雲端平台時,部署工具在暫存目錄自動留下一個短效的雲端存取憑證檔案,沒有讀取也沒有提交,依既有的處理流程等待清除。