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
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:
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:
Nachteile:
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!