首頁 >後端開發 >Golang >如何在 Go 1.11 中使用 Google App Engine 標準驗證私有 Go 模組?

如何在 Go 1.11 中使用 Google App Engine 標準驗證私有 Go 模組?

Barbara Streisand
Barbara Streisand原創
2024-10-26 03:59:27654瀏覽

How to Authenticate Private Go Modules with Google App Engine Standard in Go 1.11?

在Go 1.11 中使用Google App Engine Standard 驗證私有Go 模組

更新現有App Engine Standard 專案以在Go 中使用Go模組時1.11,嘗試使用私有儲存庫進行身份驗證時可能會遇到錯誤。為了解決這個問題,我們將深入研究該問題並提供解決方案。

問題

嘗試使用 gcloud app deploy 部署專案時,建置失敗出現錯誤,指示禁止存取私有儲存庫。這是因為 Google Cloud Build 系統預設無權存取私有儲存庫。

解決方案

無需處理複雜的憑證管理,可以利用 Go 的模組替換功能使 GAE 能夠使用本地程式碼。以下是步驟概述:

  1. 目錄結構:

建立與提供的範例類似的目錄結構,在其中分隔服務程式碼來自GAE 特定代碼。

  1. Go 模組:

在GAE 目錄中建立一個go.mod 文件,指定所需的指向您的私有模組的本地碼。

  1. 解析 Go 模組:

在建置之前,解析 go.mod從服務目錄中取得正確版本的私有模組。

  1. 複製私有模組:

將私有模組複製到模組中GAE 目錄中的資料夾。或者,您也可以複製 WIP 模組原始碼以進行本機偵錯。

範例:

以下是GAE 目錄中的go.mod 檔案範例:

module myServiceGAE

require (
    bitbucket.org/me/myService v0.0.0
    google.golang.org/appengine v1.4.0
)

replace bitbucket.org/me/myService => ./src

replace bitbucket.org/me/myModule => ./modules/utils

優點:

  • 優點:
將服務包與任何GAE 知識解耦,使其可以在GAE 之外重複使用。

簡化依賴關係

  • 警告:
如果一個私有模組依賴另一個私有模組,管理私有模組內的依賴關係可能會變得複雜。

以上是如何在 Go 1.11 中使用 Google App Engine 標準驗證私有 Go 模組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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