Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengesahkan Modul Private Go dalam Google App Engine Standard dengan Go 1.11?

Bagaimana untuk Mengesahkan Modul Private Go dalam Google App Engine Standard dengan Go 1.11?

Linda Hamilton
Linda Hamiltonasal
2024-10-26 07:52:30417semak imbas

How to Authenticate Private Go Modules in Google App Engine Standard with Go 1.11?

Mengesahkan Modul Private Go dalam Google App Engine Standard dengan Go 1.11

Apabila mengemas kini projek Go App Engine Standard kepada modul Go 1.11, pengesahan untuk modul persendirian boleh menimbulkan cabaran. Secara lalai, sistem binaan Awan Google tidak mempunyai akses kepada repositori peribadi.

Ralat:

Apabila cuba menggunakan projek yang termasuk modul peribadi, ralat serupa dengan yang berikut mungkin berlaku:

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

Bolehkah Ia Dilakukan?

Ya, adalah mungkin untuk mengesahkan modul peribadi dalam App Engine Standard menggunakan modul Go 1.11 . Walau bagaimanapun, panduan dokumentasi migrasi tentang mengalihkan fail ke GOPATH mengelirukan. Sistem modul baharu sememangnya direka bentuk untuk mengekalkan kod di luar GOPATH.

Penyelesaian: Menggunakan Penggantian Modul

Daripada mengurus bukti kelayakan, penyelesaian yang lebih baik ialah menggunakan Go's fungsi menggantikan modul. Ini membenarkan projek tempatan menggunakan salinan tempatan modul peribadi semasa binaan.

Kaedah:

  1. Buat direktori binaan: Buat direktori binaan dalam direktori projek utama.
  2. Symlink kod sumber: Pautkan direktori src projek ke dalam direktori src dalam direktori binaan.
  3. Klon atau salin modul peribadi: Klon atau salin modul peribadi yang diperlukan ke dalam subdirektori direktori modul dalam binaan.
  4. Buat fail go.mod khusus GAE: Dalam akar direktori binaan, cipta fail go.mod baharu yang merujuk modul peribadi menggunakan arahan ganti. Contohnya:
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

Kebaikan:

  • Mengekalkan pengasingan kebimbangan antara projek dan GAE
  • Memudahkan membina pakej untuk persekitaran bukan GAE

Keburukan:

  • Mungkin menjadi rumit jika modul peribadi bergantung pada modul peribadi yang lain

Atas ialah kandungan terperinci Bagaimana untuk Mengesahkan Modul Private Go dalam Google App Engine Standard dengan Go 1.11?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn