我有一些关于 DigitalOcean VPS 的项目。我经常部署部分代码。几乎每次上传后,我都必须执行多个命令。
例如,如果我更改 Django 模型并添加一些静态文件:
我必须通过 ssh 连接并且:
activate virtualenv
cd to /home/django/project/
python manage.py makemigrations
python manage.py migrate
python manage.py collectstatic
sudo systemctl daemon-reload
sudo systemctl restart gunicorn
sudo systemctl restart nginx
sudo supervisorctl
restart celery_worker
当然,我不需要每次都使用所有命令。
我想让使用这些命令更舒服。
是否有一些应用程序可以定义这些命令,然后从中选择并执行?
我想到的最接近的事情是创建 shell 脚本,但也许有更好的选择。
我使用PyCharm进行部署。我检查了文档,但没有找到这样的功能,但也许有。
我会创建 shell 脚本是的。但是您也可以创建一个本地托管网站,在其中创建一个带有复选框的页面并让它们在服务器上执行。
关于shell脚本:
您可以创建非常精细的 shell 脚本。看看如何在 shell 脚本中创建选择菜单?对于使用“对话框”的“菜单”样式方法。“tasksel”是一个非常适合命令行的脚本,看起来像这样:
您可以创建类似的内容,并将其中的每一项设置为您选择然后执行的任务。或者,如果它们相互依赖,则将您的命令串在一起(我想您需要始终启动所有 python manage.py 而不是单独的命令)。