Appengine blieb bei "Aktualisieren des Dienstes [Standard] ..."

9

Ich benutze NodeJS auf Appengine. Wir hatten am Dienstag ein perfekt stabiles App-Gerüst, und am Freitag war es nach dem Versuch der Bereitstellung vollständig kaputt. Wir haben einige geringfügige Änderungen am Frontend-Code vorgenommen, aber nichts, was meiner Meinung nach verhindern würde, dass sich die Instanz dreht.

Hier sind Schritte zum Reproduzieren.

  1. gcloud --project "{appname}" preview app deploy

  2. Protokolle zeigen npm install, container build usw.

  3. Hält Updating service [default]...5 Minuten an

  4. Schlägt mit Fehler fehl.

FEHLER: (gcloud.preview.app.deploy) Fehlerantwort: [13] Zeitüberschreitung beim Starten von VMs. Möglicherweise ist der Anwendungscode fehlerhaft. (0/1 bereit, 1 wird noch bereitgestellt).

Ich habe versucht, das Repository auf den Zeitpunkt zurückzusetzen, an dem wir stabile Bereitstellungen hatten, und es hat nicht geholfen. Dies lässt mich denken, dass etwas auf GCP kaputt ist.

Ich habe versucht, alle aktuellen Versionen zu löschen und dann bereitzustellen, aber ohne Erfolg.

Posit Labs
quelle

Antworten:

4

Wenn Sie diesen Fehler erhalten, können Sie im Cloud Console Logs Viewer (Protokollierung -> Protokolle) einen Blick auf crash.log für Ihren spezifischen Dienst / Ihre spezifische Version werfen, der Ihnen normalerweise genau sagt, was passiert ist. In meinem Fall, wenn ich denselben Fehler reproduziert habe, zeigt Crash.log die Ausgabe von NPM an, die besagt, dass ich einen 'SyntaxError: Unexpected Bezeichner' habe.

YMMV natürlich, aber dies kann Ihnen sagen, ob das Problem mit Ihrem Anwendungscode zusammenhängt oder ob etwas Unheimlicheres vor sich geht.

Adam
quelle
Danke, das werde ich beim nächsten Mal versuchen. Ich musste den Appengine-Ansatz wegen der kurzen Zeitspanne aufgeben. Gibt es eine Möglichkeit, den Container lokal zu erstellen und auszuführen?
Posit Labs
Es ist nicht erforderlich, den Container für das lokale Testen von NodeJS-Apps zu erstellen. Sie können sie einfach lokal ausführen, wie Sie es bei jeder NodeJS-App mit 'npm install' tun würden. npm start '.
Adam
Ich fing von vorne an und die Dinge schienen beim zweiten Mal zu funktionieren. Keine Änderung im App-Code, aber ich habe ein Downgrade auf Knoten 4.4.4 im Engine-Feld von package.json durchgeführt.
Posit Labs
1

Die Antwort für mich war anders ... Die Version wurde erstellt, hat den Erstellungsprozess jedoch nie abgeschlossen. Dieses Szenario ist sichtbar, wenn Sie in die Protokolle Ihres AppEngine-Dienstes gehen (überprüfen Sie alle Optionen, um ALLE Protokolle anzuzeigen) und möglicherweise "Container namens exit (1)" bemerken.

In meinem Fall habe ich festgestellt, dass das Ausführen von "gcloud init" zum Zurücksetzen meiner Anmeldeinformationen hilfreich ist. Hoffe das hilft jemand anderem.

Scratch , dass ... Ich fand , dass die Cloud - Build - API nur war WAY hinter / langsam. Dies geschieht seit einigen Stunden. Ich habe gerade bemerkt, dass 4 Versionen auf einmal von den vorherigen Stunden am Abend in mein Dashboard eingeblendet wurden. Anscheinend gibt es keine Möglichkeit, frühere Bereitstellungen abzubrechen? Ironischerweise beginnt jeder, sobald der Build-Service von Google hinter jedem steht, seine Bereitstellungen zu spammen / erneut zu versuchen, und das Problem wird schlimmer ... so schlimm.

Robert
quelle
0

Stellen Sie sicher, dass Ihre package.json diesen Abschnitt enthält

"cloud-repo-tools": {
"test": {
  "app": {
    "msg": "Hello, world!"
  }
},
"requiresKeyFile": true,
"requiresProjectId": true
}

Der Abschnitt "msg" enthält eine Zeichenfolge, nach der die Integritätsprüfung suchen kann. Ich konnte keine Dokumentation dafür finden. Wenn es jemand anderes tut, würde ich sie gerne sehen.

rxb
quelle