Laufende GAE Flex Node-App ändern

Laufende GAE Flex Node-App ändern

Wir wollten eine schnelle Änderung an einer laufenden GAE-Anwendung vornehmen, um die Protokollierung von Abfragen zur Fehleraufspürung zu ermöglichen.

Beim SSH-Zugriff auf eine laufende Instanz kann es aufgrund der Verwendung von Docker schwierig sein, den Speicherort des App-Codes herauszufinden.

Währenddiese Anweisungenermöglichen das Starten einer Shell in der Containerinstanz, vimoder ähnliches ist im Container nicht verfügbar, sodass eine Änderung des Codes nicht möglich ist.

Unten erfahren Sie, wie wir herausgefunden haben, wo die App zu finden ist.

Antwort1

Gehen Sie in der GAE-Konsole zum Seitenmenü und wählen SieApp Engine -> Instances

Wenn Sie nicht versuchen, eine Verbindung zu Ihrer Standard-App herzustellen, ändern Sie das Dropdown-Menü oben links.

Klicken Sie dann auf die Schaltfläche SSH.

Docker-Images werden gespeichert, /var/lib/docker/overlay2aber es gibt einevielvon ihnen.

Um die Datei zu finden, die Ihre App enthält, wählen Sie einen Dateinamen, der für Ihr Projekt eindeutig ist (wir haben beispielsweise „“ gewählt“) und messageProcessor.jsdurchsuchen Sie dann alle Bilder danach.

(Der SSH-Benutzer hat keine Berechtigung, daher müssen Sie „sudo“ verwenden, um „find“ für diesen Ordner auszuführen.)

sudo find /var/lib/docker/overlay2 -name messageProcessor.js

Hoffentlich erhalten Sie nur ein Ergebnis, etwa dieses:

/var/lib/docker/overlay2/14b22c856283a3231a55c79f54d298acb9750fc886037533ef830acf55a10116/merged/app/jobs/messageProcessor.js

Jetzt wissen Sie, wo Sie Ihre App finden, und können eine Datei bearbeiten:

sudo vi /var/lib/docker/overlay2/14b22c856283a3231a55c79f54d298acb9750fc886037533ef830acf55a10116/merged/app/some/file/in/my/app.js

Starten Sie dann Ihre App neu, damit die Änderung wirksam wird

# ps -ef | grep node
root     11152 11151  0 Sep13 ?        00:00:00 node /app/index.js
# sudo kill <the pid of your process>

verwandte Informationen