Heim  >  Artikel  >  Backend-Entwicklung  >  Wie authentifiziert man ein privates Go-Modul in Google App Engine Standard mit Go 1.11?

Wie authentifiziert man ein privates Go-Modul in Google App Engine Standard mit Go 1.11?

Barbara Streisand
Barbara StreisandOriginal
2024-10-26 11:38:30468Durchsuche

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

Authentifizierung eines privaten Go-Moduls auf Google App Engine Standard mit Go 1.11

Bei der Migration von Go App Engine Standard-Projekten auf die Module von Go 1.11 , können Entwickler bei privaten Modulen auf Authentifizierungsprobleme stoßen. So beheben Sie den Fehler „403 Forbidden“, der während der Bereitstellung der gcloud-App auftritt:

Problem

Die Bereitstellung eines Projekts, das auf einem auf Bitbucket gehosteten privaten Modul basiert, schlägt fehl auf mangelnde Authentifizierung für das private Repository zurückzuführen.

Lösung

Anstatt Anmeldeinformationen für den Zugriff auf private Repositorys direkt in Google Cloud Build einzurichten, sollten Sie die Verwendung der Modulersetzungsfunktion von Go in Betracht ziehen. Dadurch wird GAE dazu umgeleitet, lokalen Code anstelle der Remote-Version zu verwenden.

Verzeichnisstruktur

Organisieren Sie Ihre Projektdateien wie folgt:

myService/
    src/
        service.go
        go.mod
    build/
        gae/
            src/        // simlink to ../../src
            modules/    // git ignored, contains cloned modules.
            app.go
            go.mod
            app.yaml

Methode:

  1. Verwenden Sie den Git-Modul-Replace in build/gae/go.mod, um GAE zur Verwendung von lokalem Code umzuleiten:
replace bitbucket.org/me/myService => ./src
replace bitbucket.org/me/myModule => ./modules/utils
  1. Erstellen Sie ein Build-Skript, das myService/src/go.mod analysiert, um die richtige Version des privaten Moduls zu identifizieren und es in den Ordner build/gae/modules zu klonen.

Vorteile

  • Das private Modulpaket bleibt unabhängig von GAE, sodass es für andere Umgebungen (z. B. Docker) erstellt werden kann.
  • Vereinfacht das Abhängigkeitsmanagement durch die Verwendung des Modulsystems von Go .

Nachteile

  • Es kann zu Komplexitäten kommen, wenn private Module Abhängigkeiten von anderen privaten Modulen haben.

Das obige ist der detaillierte Inhalt vonWie authentifiziert man ein privates Go-Modul in Google App Engine Standard mit 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