У меня есть некоторые проекты на DigitalOcean VPSs. Я развертываю части кода очень часто. Почти после каждой загрузки я должен сделать несколько команд.
Например, если я изменяю модели 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
Конечно, мне не нужны все команды каждый раз.
Я хотел бы сделать это более удобным для работы с этими командами.
Есть ли некоторое приложение, где я могу определить те команды и затем выбрать от них и выполниться?
Самая близкая вещь, которая прибывает по моему мнению, состоит в том, чтобы создать сценарии оболочки, но возможно существует более оптимальный вариант.
Я использую PyCharm для развертывания. Я проверил документы, и я не нашел такую функцию, но возможно существует.
Самая близкая вещь, которая прибывает по моему мнению, состоит в том, чтобы создать сценарии оболочки, но возможно существует более оптимальный вариант.
Есть ли некоторое приложение, где я могу определить те команды и затем выбрать от них и выполниться?
Я создал бы сценарии оболочек да. Но Вы могли также создать локальный размещенный веб-сайт, где Вы создаете страницу с флажками и сделали, чтобы они выполнились на сервере.
Относительно сценариев оболочки:
Можно создать довольно тщательно продуманные сценарии оболочки. Взгляните на то, Как я могу создать избранное меню в сценарии оболочки? поскольку "меню" разрабатывает метод с помощью "диалогового окна". "tasksel" является сценарием, который довольно необычен для командной строки и похож на это:
Вы могли создать что-то как этот и сделать каждый из них задачей, которую Вы выбираете и затем имеете, выполняются. Или представьте свои команды в виде строки вместе, если бы они зависят друг от друга (я предполагаю, что необходимо было бы запустить весь Python manage.py все время и не как отдельные команды).