首頁  >  文章  >  後端開發  >  輕鬆管理和安裝您的私人 Go 模組

輕鬆管理和安裝您的私人 Go 模組

王林
王林原創
2024-08-19 22:33:32361瀏覽

Easily manage and install your private Go modules

對於 Golang 開發人員來說,在處理公共儲存庫時管理和安裝 Go 模組通常很簡單。然而,當您需要使用私有 Go 模組時,事情會變得更加棘手。

除了使用私有 GOPROXY 之外,Go 模組工具鏈不提供用於處理私有模組的內建機制,正確設定和維護工具鏈並不是每個開發人員或組織都可以選擇的。有些套件儲存庫服務支援使用私有 Go 模組,但通常不會為開發人員提供最乾淨的體驗。

因此,在大多數情況下,我們最終會安排複雜的Git 配置(.netrc 或.gitconfig)與一些Go 環境變數結合,以在使用go get、go install 或go mod download 時管理我們的私有儲存庫的身份驗證.

這些 Git 配置的問題在於,它們並非對所有開發人員來說都是顯而易見的,而且它們可能不安全,因為可能需要在檔案系統中儲存純文字憑證。當配置 CI/CD 系統、建置 Docker 映像等時,這些問題變得更加成問題

介紹 goproxy.dev

身為長期的 Golang 開發者(來自 Go 模組甚至不存在的時代),我們一直夢想有一天使用私人 Go 函式庫會像使用公用函式庫一樣簡單且強大。

想像一下,開發您的私人 Go 庫並將其推送到 GitHub,然後僅透過設定 GOPROXY 環境變數即可立即從專案原始程式碼中取得新變更。沒有棘手且不安全的 Git 配置,沒有自架 GOPROXY 維護,沒有複雜且容易出錯的發布工作流程,且本地開發機器、Dockerfile 和 CI/CD 環境的設定相同。

向 go​​proxy.dev 打個招呼,這是一個與 GitHub 整合的私人 GOPROXY 服務,為您提供無縫 Go 私有模組安裝

如何在開發工作流程中設定 goproxy.dev

只需使用您的 GitHub 帳戶登入 goproxy.dev,授予您將使用的私人儲存庫的存取權限,然後匯出您的 GOPROXY 和 GONOSUMDB 環境變數。

export GOPROXY=TOKEN@proxy.goproxy.dev,proxy.golang.org,direct
export GONOSUMDB=github.com/your-organization

這些 Go 環境變數可以直接從 shell 配置(.zshrc、.bashrc 等)或使用 go env -w 設定。

然後您可以執行常用的 go 指令來安裝和下載您的私有模組。

go get github.com/your-organization/go-module@v2.0.0
go install github.com/your-organization/go-module/cmd
...
go mod download

如何使用 goproxy.dev 建置 Docker 映像

與 goproxy.dev 整合只需要設定兩個環境變數。在 Docker 建置期間執行此操作的最佳方法是使用 Docker 建置機密功能。

在你的 Dockerfile 中:

COPY go.mod go.sum ./
RUN --mount=type=secret,id=GOPROXY \
    GOPROXY=$(cat /run/secrets/GOPROXY) \
    GONOSUMDB=github.com/your-organization \
    go mod download
RUN go build .

然後跑步:

GOPROXY="[your GOPROXY value]" docker build --secret id=GOPROXY

如何使用 GitHub Actions 中的 goproxy.dev

只需為包含 GOPROXY URL 的 GitHub Actions 配置一個秘密,並在工作流程中使用它:

jobs:
  build:
    - run: |
        go mod download
        go build .
      env:
        GOPROXY: ${{ secrets.PRIVATE_GOPROXY }}
        GONOSUMDB: github.com/your-organization

 立即簡化您的 Go 開發工作流程

使用 goproxy.dev,您在使用 Go 函式庫時將獲得最佳的開發人員體驗。無論您依賴開源公共庫還是組織中的私有模組,您都將擁有統一的工作流程:設定 GOPROXY 環境變量,並取得特定版本、Git 分支或提交的依賴項。

立即註冊我們的 14 天免費試用版,了解更多資訊並開始使用 goproxy.dev。

以上是輕鬆管理和安裝您的私人 Go 模組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn