Menu de la console Python

Salutations, collègues. Je m'appelle Rustam, je travaille pour une petite entreprise engagée dans le développement et la promotion de sites Web.

Très souvent, lorsque vous travaillez sur un projet, des tâches surviennent qui nécessitent la saisie de plusieurs commandes dans la console, telles que, par exemple, la reconstruction du frontend, le démarrage / l'arrêt de plusieurs conteneurs Docker, le déploiement de l'environnement sur un nouvel ordinateur de développement, etc.

Ce n'est généralement pas difficile, mais de telles tâches se produisent souvent très régulièrement, nécessitent une répétition et deviennent une routine.

Et maintenant, en fait, une fois que l'idée est venue de réduire le temps pour cela, c'est tout, simplifiant le processus autant que possible, mettant en œuvre un petit utilitaire qui vous permet d'envelopper des ensembles d'actions fréquemment effectuées dans des éléments d'un menu pratique affiché dans la console.

Décidé de mettre en œuvre en Python depuis Prêt à l'emploi, il est installé sur la plupart des distributions Linux et vous n'aurez pas besoin d'installer de packages supplémentaires pour l'utiliser.

Il s'est avéré quelque chose de très pratique pour le clonage avec github .

Tous les paramètres (à savoir quel élément doit être effectué) sont stockés dans le fichier menu.yml.
Le fichier de paramètres donné à titre d'exemple dans le référentiel est équipé de tous les commentaires nécessaires, mais afin de rendre tout encore plus clair, il existe un exemple de travail sur le github ( https://github.com/hrustbb2/env-example ).

Un exemple est une application composée de trois conteneurs Docker (php, mysql, nginx) avec des configurations distinctes pour les environnements de développement et de production et deux scripts de déploiement distincts dans ces environnements.

Alors, clonez, exécutez ./env et voyez un menu de trois éléments:

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

Nous allons développer notre application en mode développement, pour cela nous sélectionnons l'élément 1, échouons dans le sous-menu:

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

Ici, nous créons d'abord nos conteneurs en sélectionnant 1, après quoi vous devez trouver et entrer le nom de l'application. Ici, je veux attirer votre attention sur le fait que les paramètres nécessaires à l'exécution de certaines commandes ne doivent être saisis qu'une seule fois, puis ils sont enregistrés dans le fichier env.ini et vous n'avez pas besoin de les saisir lorsque vous le redémarrez. Ensuite, après avoir attendu un certain temps jusqu'à ce que la création des conteneurs soit terminée, nous exécuterons le script pour le déploiement de l'application elle-même, en choisissant 2.

Dans cet exemple, le script clone l'application de démarrage Laravel dans ./app, installe les packages de composeur nécessaires, effectue les migrations et crée le fichier de configuration .env. Cela est effectué une seule fois au tout début, après quoi l'environnement est démarré en sélectionnant l'élément 3. L'élément 5 sert à supprimer les conteneurs créés lorsqu'ils ne sont plus nécessaires, par exemple, lorsque le travail sur le projet est terminé.

C'est probablement tout, maintenant ouvrez localhost dans le navigateur et continuez à travailler.

Parfois, en production, il est nécessaire d'exécuter certaines commandes automatiquement sur la couronne, par exemple, la mise à jour des certificats SSL, la sauvegarde, etc. Dans ce cas, exécutez, par exemple ./env -e 1-2-3, où 1-2-3 est le chemin d'accès à la commande souhaitée dans le menu.

Mes collègues et moi avons apporté de nombreux avantages, ce qui facilite leur travail, j'espère que l'outil vous sera utile.

Bonne chance à tous.

All Articles