Python控制台菜单

问候,同事们。我的名字叫Rustam,我在一家从事网络开发和网站推广的小公司里工作。

通常,在项目上工作时,会出现需要在控制台中输入多个命令的任务,例如,重建前端,启动/停止多个Docker容器,在新的开发计算机上部署环境等。

通常这并不困难,但是这样的任务通常会非常定期地出现,需要重复执行,从而变成了例行程序。

现在,事实上,一旦提出了减少时间的想法,就是这样,尽可能地简化流程,实现一个小的实用程序,该实用程序允许您将频繁执行的操作集包装在控制台中显示的便捷菜单项中。

决定从Python开始实施开箱即用,它已安装在大多数Linux发行版中,并且您无需安装其他软件包即可使用。

事实证明,使用github进行克隆非常方便

所有设置(即应执行的项目)都存储在menu.yml文件中。
在存储库中作为示例给出的设置文件配备了所有必要的注释,但是为了使所有内容更加清晰,在github上有一个有效的示例(https://github.com/hrustbb2/env-example)。

一个示例是一个应用程序,该应用程序由三个docker容器(php,mysql,nginx)组成,这些容器具有用于开发和生产环境的单独配置,以及在这些环境中的两个单独的部署脚本。

因此,克隆,运行./env并看到包含三个项目的菜单:

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

我们将以开发模式扩展应用程序,为此,我们在子菜单中选择项目1,“失败”:

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

在这里,首先我们通过选择1来创建容器,然后您需要提出并输入应用程序的名称。在这里,我想提请您注意以下事实:执行某些命令所需的参数仅需要输入一次,然后将它们保存在env.ini文件中,并且在重新启动它时无需输入它们。然后,等待一段时间直到容器的创建完成,然后我们将运行脚本来部署应用程序本身,选择2。

在此示例中,脚本将Laravel启动应用程序克隆到./app中,安装必要的作曲家程序包,进行迁移,并创建.env配置文件。此操作仅在开始时执行一次,然后通过选择项目3来启动环境。项目5用于在不再需要创建的容器后删除它们,例如,当项目工作完成时。

仅此而已,现在在浏览器中打开localhost并继续工作。

有时在生产环境中,需要在表冠上自动运行一些命令,例如,更新SSL证书,备份等。在这种情况下,请运行例如./env -e 1-2-3,其中1-2-3是菜单中所需命令的路径。

我和我的同事带来了很多好处,使他们的工作更加轻松,希望该工具对您有用。

祝你们好运。

All Articles