I have some projects on DigitalOcean VPSs. I deploy parts of code very often. Almost after every upload I have to do multiple commands.
For example if I change Django models and add some static files:
I have to connect through ssh and:
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
Of course I don't need all commands every time.
I would like to make it more comfortable to work with these commands.
Is there some application where I can define those commands and then choose from them and execute?
The closest thing which comes to my mind is to create shell scripts but maybe there is a better option.
I use PyCharm for deploying. I checked docs and I didn't find such feature but maybe there is.