Skip to content

打包 Go Binary 成 Debian Package ​

需求:把不在 apt repo 的 Go 工具穩定地打包成 .deb(例如裝到 /opt/<org>/<tool>/bin)。

選項 ​

方式優點缺點
Script + Git Server(推薦)repo 不放 binary / 外部 code;多個 Go repo 時好維護要有可信任的 Git server(自架或 GitHub / GitLab)
Source code zip簡單go.mod 的依賴仍要從網路抓,只解決一半
Source + go mod vendor zip完全離線vendor 的定位偏向 code review,不是保存依賴;流程和原始碼有落差,容易變技術債

C/C++ 這類來源不穩、需要後處理(submodule)的套件,才比較適合 zip + CMake 的做法。

需要離線 / 防止依賴消失時,也可以考慮 Go module proxy(例如 Athens)當 read-through cache。

參考 ​

頁面歷史

Just observe 👀