使用Go 1.11 在Google App Engine Standard 上驗證私有Go 模組
當Go 應用程式升級到Go 1.11 的模組系統時引擎標準項目,驗證私有模組可能會帶來挑戰。依照遷移文檔,您在嘗試部署專案時可能會遇到「403 Forbidden」錯誤。
錯誤
此錯誤源自於 Google 雲端建置系統無法存取託管該模組的私人儲存庫。雲端建置系統在部署期間需要憑證才能存取儲存庫,但目前設定中未提供這些憑證。
解決方案
要解決此問題,您可以利用 Go 的模組替換功能。這允許您將雲端建置系統配置為使用私有模組的本機副本,而不是從儲存庫中取得它。
目錄結構
創建專用目錄此方法的結構:
myService/ src/ service.go # contains run() function for routers and other setups go.mod # depends on private and external modules ... # other source files build/ gae/ src/ # symlink to ../../src modules/ # stores cloned or locally modified private modules app.go # contains main() to call service.run() and appEngine.Main() go.mod # includes main() and required modules app.yaml
配置
在myService/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 # Optionally replace other private modules replace bitbucket.org/me/myModule => ./modules/utils
此設定指示雲端建置系統使用src 目錄中myService 的本機副本。替換指令的作用類似於偽供應商,確保建置系統使用本機版本而不是從儲存庫中取得版本。
優點與缺點
優點:
缺點:
結論
透過使用模組替換和修改的目錄結構,您可以使用 Go 1.11 在 Google App Engine Standard 上成功驗證私有模組。這種方法提供了安全性和靈活性,可以將私有模組無縫整合到您的專案中。
以上是如何使用 Go 1.11 驗證 Google App Engine Standard 上的私有 Go 模組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!