Heim  >  Artikel  >  Backend-Entwicklung  >  Wie authentifiziert man private Go-Module mit Google App Engine Standard in Go 1.11?

Wie authentifiziert man private Go-Module mit Google App Engine Standard in Go 1.11?

Barbara Streisand
Barbara StreisandOriginal
2024-10-26 03:59:27570Durchsuche

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

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

Beim Aktualisieren eines vorhandenen App Engine Standard-Projekts zur Verwendung von Go-Modulen in Go 1.11 können beim Versuch, sich bei privaten Repositorys zu authentifizieren, Fehler auftreten. Um dieses Problem zu beheben, werden wir uns mit dem Problem befassen und eine Lösung anbieten.

Das Problem

Beim Versuch, das Projekt mit gcloud appploy bereitzustellen, schlägt der Build fehl mit einem Fehler, der auf einen verbotenen Zugriff auf das private Repository hinweist. Dies liegt daran, dass das Google Cloud Build-System standardmäßig keinen Zugriff auf private Repositorys hat.

Lösung

Anstatt sich mit der komplexen Verwaltung von Anmeldeinformationen zu befassen, ist es möglich, Go's zu nutzen Modulersetzungsfunktion, um GAE darauf hinzuweisen, lokalen Code zu verwenden. Hier ist eine Übersicht über die Schritte:

  1. Verzeichnisstruktur:

Erstellen Sie eine Verzeichnisstruktur ähnlich dem bereitgestellten Beispiel, wobei Sie den Dienstcode trennen aus dem GAE-spezifischen Code.

  1. Go-Module:

Erstellen Sie eine go.mod-Datei im GAE-Verzeichnis und geben Sie die erforderlichen Abhängigkeiten an Verwenden Sie „Module Replacement“, um auf den lokalen Code für Ihr privates Modul zu verweisen.

  1. Go-Modul analysieren:

Parsen Sie vor dem Erstellen den go.mod Datei aus dem Serviceverzeichnis, um die richtige Version Ihres privaten Moduls zu erhalten.

  1. Private Module klonen:

Klonen Sie das private Modul in die Module Ordner im GAE-Verzeichnis. Optional können Sie auch den Quellcode des WIP-Moduls für lokale Debugging-Zwecke kopieren.

Beispiel:

Hier ist ein Beispiel der go.mod-Datei aus dem GAE-Verzeichnis:

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

Vorteile:

  • Entkoppelt das Servicepaket von jeglichem GAE-Wissen und macht es somit außerhalb von GAE wiederverwendbar.
  • Vereinfacht die Abhängigkeit Verwaltungsprozess durch Verwendung von Go-Modulen.

Vorbehalt:

  • Die Verwaltung von Abhängigkeiten innerhalb privater Module kann komplex werden, wenn ein privates Modul auf ein anderes angewiesen ist.

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

Stellungnahme:
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