使用Go 1.11 對Google App Engine Standard 中的私有Go 模組進行驗證
將Go App Engine Standard 專案更新專案為Go 1.1111模組時,身份驗證對於私有模組來說可能會帶來挑戰。預設情況下,Google Cloud 建置系統無權存取私有儲存庫。
錯誤:
嘗試部署包含私有模組的專案時,錯誤可能會出現類似以下情況:
ERROR: (gcloud.app.deploy) Error Response: [9] Cloud build <GUI> status: FAILURE. Build error details: go: bitbucket.org/[email protected]: https://api.bitbucket.org/2.0/repositories/myPrivateRepo?fields=scm: 403 Forbidden
可以完成嗎?
是的,可以使用 Go 1.11 模組對 App Engine Standard 中的私有模組進行驗證。但是,遷移文件中有關將文件移至 GOPATH 的指導具有誤導性。新的模組系統確實旨在將程式碼保留在 GOPATH 之外。
解決方案:使用模組替換
更好的解決方案是使用 Go 的憑證,而不是管理憑證模組替換功能。這允許本地專案在建置過程中使用私有模組的本機副本。
方法:
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中文網其他相關文章!