GitHub工程師談GitHub Pages服務開發經驗

發表於2015-05-03

關於 GitHub Pages 服務

GitHub Pages是 GitHub 提供的靜態站點託管服務。據官方部落格介紹,支撐著近百萬網站的 GitHub Pages 服務起初僅僅由一百多行 Shell 指令碼編寫而成。今天這項服務已經進化成為完全獨立、可以處理每分鐘超過兩百多萬請求的應用。

從下圖中,我們可以看到 GitHub Pages 服務站點增長情況:

在博文中,GitHub 工程師也回顧了過去6個月來在構建這項服務產生的一些心得:

  • 測試測試再測試。

在碰程式碼前,GitHub 工程師們做的第一件事情就是建立整合測試來模擬和驗證功能。新功能開發出來後,繼續重複單元測試和整合測試,用例項來驗證每次迭代。如果測試通不過,就不能線上部署。

  • 構建公共 API,讓第三方服務可用。
  • 提供輸出詳情,而不僅僅是結果。

如果站點構建失敗,不是隻給出一個錯誤提示『Page 構建失敗』就完事,這對使用者來說毫無用處,需要讓使用者準確知道到底是什麼地方出錯,而且在出錯後能夠知道怎麼改進。在錯誤出現前,還要防止出錯。如 GitHub 就提供了GitHub Pages 健康檢測功能,會自動檢測 DNS 常規設定。如果 DNS 被指向一個廢棄的 IP 地址,則會提示使用者。

當然,還提供了文件與教程,降低 GitHub Pages 使用門檻。

  • 成功要靠團隊協作。
  • 滿足並超出使用者期望。不要教育使用者這個需求不合理,那個不合理——滿足他們就行,並且功能實現遠超出預期。
  • 要開源才能玩得轉。Jekyll本來是為了支援 GitHub Pages 服務而發起的一個專案,但現在它已經成為一個獨立的開源專案,並且貢獻者越來越多。支援開源社群、扮演活躍角色,互相促進,各取所需。

相關文章