用 air 給 Golang/Gin 框架提供熱重啓支持

Golang 這種編譯語言和 Rails/Python 這種腳本語言不同, 腳本語言做後端, 只要不是配置和數據庫有變化, 一般都是源代碼一修改後, 最新後端服務就立即生效了.

但是 Golang 做後端, 需要每次修改代碼以後都要重新編譯後重啓服務才行.
但是每次改完代碼都切換到終端按 Ctrl + C 也是無比的煩.

對於我這種懶得寫代碼的懶人, 偉大的Google從來都有現成的方案, 在Mac上直接用下面的命令在後端目錄下執行:

$ curl -fLo ~/air \
    https://raw.githubusercontent.com/cosmtrek/air/master/bin/darwin/air

$ chmod +x ~/air

$ ./air

就是這麼簡單, 配合 FRP, 直接在本地開發, 前端直接調用就可以通過阿里雲反向代理到本地開發機進行訪問了.

只要 Golang 源代碼一改, air 會自動重新編譯並重啓, 超級方便, 再也不用按 Ctrl + C 了.

注意: air 這種重新編譯和重啓的方案只適合開發環境, 如果生產環境, 還需要基於 Golang HTTP.shutdown 方案開發更加智能的子進程熱替換方案, 否則會因爲重啓瞬間丟失用戶訪問請求.

That's all, gopher! ;)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章