使用Go 1.11 在Google App Engine Standard 上驗證私有Go 模組
在Go 1.11 中,模組的引入提供了更有效的方法管理依賴關係。但是,在 Google App Engine Standard 上使用私有模組時,可能會出現驗證問題。當嘗試部署 gcloud 應用程式並遇到 403 Forbidden 錯誤時,此問題變得很明顯。
為了解決此問題,已採用供應商或使用第三方相依性管理工具(例如 DEP)等傳統方法。然而,對於新的模組系統,這些解決方案可能並不理想。
使用模組替換的解決方案
除了處理憑證之外,一個可行的解決方案是使用 Go 的模組替換功能可指示 GAE 使用本地代碼。此方法涉及:
設定目錄結構:
使用以下目錄結構組織您的專案:
myService/ |__ src/ | |__ service.go | |__ go.mod |__ build/ |__ gae/ |__ src/ // Symlink to ../../src |__ modules/ // Git ignored |__ app.go |__ go.mod |__ app.yaml
修改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
複製或複製私人模組:
這種方法可讓您將私有模組程式碼與主專案分開,同時確保 GAE 在部署期間使用正確的版本。
避免需要額外的依賴管理工具。
以上是如何使用 Go 1.11 驗證 Google App Engine 標準上的私人 Go 模組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!