Wie authentifizieren Sie private Go-Module in Google App Engine Standard mit Go 1.11?

Linda Hamilton
Freigeben: 2024-10-26 07:52:30
Original
336 Leute haben es durchsucht

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

Authentifizierung privater Go-Module in Google App Engine Standard mit Go 1.11

Beim Aktualisieren eines Go App Engine Standard-Projekts auf Go 1.11-Module erfolgt die Authentifizierung für private Module kann eine Herausforderung darstellen. Standardmäßig hat das Google Cloud-Build-System keinen Zugriff auf private Repositorys.

Der Fehler:

Beim Versuch, ein Projekt bereitzustellen, das private Module enthält, tritt ein Fehler auf Es kann Folgendes auftreten:

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
Nach dem Login kopieren

Kann das gemacht werden?

Ja, es ist möglich, private Module in App Engine Standard mithilfe von Go 1.11-Modulen zu authentifizieren . Allerdings sind die Anleitungen der Migrationsdokumentation zum Verschieben von Dateien in den GOPATH irreführend. Das neue Modulsystem ist in der Tat darauf ausgelegt, Code außerhalb des GOPATH zu halten.

Lösung: Verwenden von Module Replacement

Anstatt Anmeldeinformationen zu verwalten, ist die Verwendung von Gos eine vorzuziehende Lösung Modulaustauschfunktionalität. Dadurch kann das lokale Projekt während des Builds eine lokale Kopie des privaten Moduls verwenden.

Methode:

  1. Erstellen Sie ein Build-Verzeichnis: Erstellen Sie ein Build-Verzeichnis im Hauptprojektverzeichnis.
  2. Symlinken Sie den Quellcode: Verknüpfen Sie das src-Verzeichnis des Projekts mit dem src-Verzeichnis im Build-Verzeichnis.
  3. Private Module klonen oder kopieren:Klonen oder kopieren Sie die erforderlichen privaten Module in ein Unterverzeichnis des Modulverzeichnisses innerhalb von Build.
  4. Erstellen Sie eine GAE-spezifische go.mod-Datei: Erstellen Sie im Stammverzeichnis des Build-Verzeichnisses eine neue go.mod-Datei, die mithilfe der Anweisung „replace“ auf das private Modul verweist. Zum Beispiel:
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
Nach dem Login kopieren

Vorteile:

  • Behält die Trennung der Belange zwischen Projekt und GAE bei
  • Erleichtert den Aufbau Paket für Nicht-GAE-Umgebungen

Nachteile:

  • Kann komplex werden, wenn ein privates Modul von einem anderen privaten Modul abhängt

Das obige ist der detaillierte Inhalt vonWie authentifizieren Sie private Go-Module in Google App Engine Standard mit Go 1.11?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!