對於 Golang 開發人員來說,在處理公共儲存庫時,管理和安裝 Go 模組通常很簡單。然而,當您需要使用私有 Go 模組時,事情會變得更加棘手。
除了使用私有 GOPROXY 之外,Go 模組工具鏈不提供用於處理私有模組的內建機制,且正確設定和維護工具鏈並不是每個開發人員或組織都可以選擇的。有些套件儲存庫服務支援使用私有 Go 模組,但通常不會為開發人員提供最乾淨的體驗。
因此,在大多數情況下,我們最終會安排複雜的Git 配置(.netrc 或.gitconfig)與一些Go 環境變數相結合,以在使用go get、go install 或go mod download 時管理我們的私有存儲庫的身份驗證。
這些 Git 配置的問題在於,它們並非對所有開發人員來說都是顯而易見的,而且它們可能不安全,因為可能需要在檔案系統中儲存純文字憑證。當配置 CI/CD 系統、建置 Docker 映像等時,這些問題變得更加成問題
作為長期的 Golang 開發者(來自 Go 模組甚至不存在的時代),我們一直夢想著有一天,使用私人 Go 庫將像使用公共庫一樣簡單且強大。
想像一下,開發您的私人 Go 庫並將其推送到 GitHub,然後僅透過設定 GOPROXY 環境變數即可立即從專案原始程式碼中取得新變更。沒有棘手且不安全的 Git 配置,沒有自架 GOPROXY 維護,沒有複雜且容易出錯的發布工作流程,且本地開發機器、Dockerfile 和 CI/CD 環境的設定相同。
向 goproxy.dev 打個招呼,這是一個與 GitHub 整合的私人 GOPROXY 服務,為您提供無縫 Go 私人模組安裝.
只需使用您的 GitHub 帳戶登入 goproxy.dev,授予您將使用的私人儲存庫的存取權限,然後匯出您的 GOPROXY 和 GONOSUMDB 環境變數。
這些 Go 環境變數可以直接從 shell 配置(.zshrc、.bashrc 等)或使用 go env -w 設定。
然後您可以執行常用的 go 命令來安裝和下載您的私有模組。
與 goproxy.dev 整合只需要設定兩個環境變數。在 Docker 建置期間執行此操作的最佳方法是使用 Docker 建置機密功能。
在你的 Dockerfile 中:
還有跑步:
只需為包含 GOPROXY URL 的 GitHub Actions 配置一個秘密,並在工作流程中使用它:
使用 goproxy.dev,您在使用 Go 函式庫時將獲得最佳的開發體驗。無論您依賴開源公共庫還是組織中的私有模組,您都將擁有統一的工作流程:設定 GOPROXY 環境變量,然後取得特定版本、Git 分支或提交的依賴項。
立即註冊我們的 14 天免費試用版,了解更多資訊並開始使用 goproxy.dev。
以上是輕鬆管理和安裝您的私人 Go 模組的詳細內容。更多資訊請關注PHP中文網其他相關文章!