在Go 1.11 中使用Google App Engine Standard 驗證私有Go 模組
更新現有App Engine Standard 專案以在Go 中使用Go模組時1.11,嘗試使用私有儲存庫進行身份驗證時可能會遇到錯誤。為了解決這個問題,我們將深入研究該問題並提供解決方案。
問題
嘗試使用 gcloud app deploy 部署專案時,建置失敗出現錯誤,指示禁止存取私有儲存庫。這是因為 Google Cloud Build 系統預設無權存取私有儲存庫。
解決方案
無需處理複雜的憑證管理,可以利用 Go 的模組替換功能使 GAE 能夠使用本地程式碼。以下是步驟概述:
建立與提供的範例類似的目錄結構,在其中分隔服務程式碼來自GAE 特定代碼。
在GAE 目錄中建立一個go.mod 文件,指定所需的指向您的私有模組的本地碼。
在建置之前,解析 go.mod從服務目錄中取得正確版本的私有模組。
將私有模組複製到模組中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
優點:
簡化依賴關係
以上是如何在 Go 1.11 中使用 Google App Engine 標準驗證私有 Go 模組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!