Mengesahkan Modul Private Go pada Google App Engine Standard dengan Go 1.11
Apabila menaik taraf kepada sistem modul Go 1.11 untuk Go App Projek Standard Enjin, mengesahkan modul peribadi boleh memberikan cabaran. Berikutan dokumentasi penghijrahan, anda mungkin menghadapi ralat "403 Forbidden" semasa cuba menggunakan projek.
Ralat
Ralat berpunca daripada sistem binaan awan Google tidak mempunyai akses kepada repositori peribadi yang menjadi tuan rumah modul. Sistem binaan awan memerlukan bukti kelayakan untuk mengakses repositori semasa penggunaan, tetapi bukti kelayakan ini tidak disediakan dalam persediaan semasa.
Penyelesaian
Untuk menyelesaikan isu ini, anda boleh gunakan fungsi ganti modul Go. Ini membolehkan anda mengkonfigurasi sistem binaan awan untuk menggunakan salinan tempatan modul peribadi dan bukannya mengambilnya daripada repositori.
Struktur Direktori
Buat direktori khusus struktur untuk pendekatan ini:
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
Konfigurasi
Dalam fail myService/gae/go.mod, tambahkan konfigurasi berikut:
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
Konfigurasi ini mengarahkan sistem binaan awan untuk menggunakan salinan tempatan myService daripada direktori src. Arahan ganti bertindak seperti vendor pseudo, memastikan sistem binaan menggunakan versi setempat dan bukannya mengambilnya daripada repositori.
Kebaikan dan Keburukan
Kebaikan:
Keburukan:
Kesimpulan
Dengan menggunakan penggantian modul dan struktur direktori yang diubah suai, anda boleh berjaya mengesahkan modul peribadi pada Google App Engine Standard menggunakan Go 1.11. Pendekatan ini menyediakan kedua-dua keselamatan dan fleksibiliti, membolehkan penyepaduan lancar modul peribadi ke dalam projek anda.
Atas ialah kandungan terperinci Bagaimana untuk Mengesahkan Modul Private Go pada Google App Engine Standard dengan Go 1.11?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!