Python-Konsolenmenü

Grüße, Kollegen. Mein Name ist Rustam, ich arbeite für ein kleines Unternehmen, das sich mit Webentwicklung und Website-Promotion beschäftigt.

Sehr häufig treten bei der Arbeit an einem Projekt Aufgaben auf, bei denen mehrere Befehle in die Konsole eingegeben werden müssen, z. B. das Frontend neu erstellen, mehrere Docker-Container starten / stoppen, die Umgebung auf einem neuen Entwicklungscomputer bereitstellen und dergleichen.

Dies ist im Allgemeinen nicht schwierig, aber häufig treten solche Aufgaben sehr regelmäßig auf, erfordern Wiederholungen und werden zu einer Routine.

Und jetzt, da die Idee aufkam, die Zeit dafür zu verkürzen, war es das, was den Prozess so weit wie möglich vereinfacht und ein kleines Dienstprogramm implementiert, mit dem Sie Sätze häufig ausgeführter Aktionen in Elemente eines praktischen Menüs einschließen können, das in der Konsole angezeigt wird.

Beschlossen, seitdem in Python zu implementieren Standardmäßig ist es auf den meisten Linux-Distributionen installiert, und Sie müssen keine zusätzlichen Pakete für die Verwendung installieren.

Es stellte sich heraus, dass es sehr praktisch war, mit Github zu klonen .

Alle Einstellungen (nämlich welches Element ausgeführt werden soll) werden in der Datei menu.yml gespeichert.
Die als Beispiel im Repository angegebene Einstellungsdatei enthält alle erforderlichen Kommentare. Um jedoch alles noch klarer zu gestalten, gibt es ein funktionierendes Beispiel für den Github ( https://github.com/hrustbb2/env-example ).

Ein Beispiel ist eine Anwendung, die aus drei Docker-Containern (PHP, MySQL, Nginx) mit separaten Konfigurationen für Entwicklungs- und Produktionsumgebungen und zwei separaten Bereitstellungsskripten in diesen Umgebungen besteht.

Klonen Sie also, führen Sie ./env aus und sehen Sie ein Menü mit drei Elementen:

0. Exit
1. Develop
2. Production
Chose action: _

Wir werden unsere Anwendung im Entwicklungsmodus erweitern. Dazu wählen wir Punkt 1 aus und schlagen im Untermenü fehl:

0. Exit
1. Build
2. Deploy and Up
3. Up
4. Stop
5. Remove
Chose action: _

Hier erstellen wir zuerst unsere Container, indem wir 1 auswählen. Anschließend müssen Sie den Namen der Anwendung eingeben und eingeben. An dieser Stelle möchte ich Sie darauf aufmerksam machen, dass die für die Ausführung bestimmter Befehle erforderlichen Parameter nur einmal eingegeben werden müssen, dann in der Datei env.ini gespeichert werden und Sie sie beim Neustart nicht eingeben müssen. Nachdem wir eine Weile gewartet haben, bis die Erstellung der Container abgeschlossen ist, führen wir das Skript aus, um die Anwendung selbst bereitzustellen, und wählen 2.

In diesem Beispiel klont das Skript die Laravel-Startanwendung in ./app, installiert die erforderlichen Composer-Pakete, führt Migrationen durch und erstellt die .env-Konfigurationsdatei. Dies erfolgt nur einmal ganz am Anfang. Anschließend wird die Umgebung durch Auswahl von Punkt 3 gestartet. Punkt 5 dient zum Löschen der erstellten Container, nachdem diese nicht mehr benötigt werden, z. B. wenn die Arbeit am Projekt abgeschlossen ist.

Das ist wahrscheinlich alles, jetzt öffne localhost im Browser und arbeite weiter.

In der Produktion müssen manchmal einige Befehle automatisch auf der Krone ausgeführt werden, z. B. das Aktualisieren von SSL-Zertifikaten, das Sichern usw. Führen Sie in diesem Fall beispielsweise ./env -e 1-2-3 aus, wobei 1-2-3 der Pfad zum gewünschten Befehl im Menü ist.

Ich und meine Kollegen haben viele Vorteile gebracht und ihre Arbeit ein wenig erleichtert. Ich hoffe, das Tool wird Ihnen nützlich sein.

Allen viel Glück.

All Articles