Какой способ разворачивания проекта на сервере самый лучший?
Есть проект, над которым работаю два человека. Один по windows, другой под ubuntu. Есть VPS так же под ubuntu. По статье в интернете развернули с nginx, supervisor, gunicorn. Через некоторое время наткнулся на статью, что supervisor не очень, и лучше использовать systemd. А так же увидел рекомендации по использованию docker, что бы не было проблем с разными системами и вроде как при разворачивании помогает.
Соответственно вопрос - какой стак лучше использовать при командной разработке как у нас? В будущем так же увеличится количество людей работающих над проектом.
systemd init - почитайте.
вообще имеет кучи зависимостей. и не всегда хорошая практика. только если нет должных навыков.
чем вам поможет докер ? докер да. каждый контейнер - со своим окружением. нужны версии? используйте virtualenv.
и не совсем понятно про работу над проектами для разных ОС. кроссплатформенность ?? ух. определитесь с чем одним.
1. ведите понятную документацию по разворачиванию необходимого окружения на выбранной платформе
2. используйте git
3. решили равзорачивать окружение с помощью контейнеров - что ж, это удобно.
Какой http- или wsgi-сервер использовать, а также какую систему управления процессами выбрать - это по большей части вкусовщина. У меня Nginx+uWSGI. Релизы на прод вытягиваются из репы системы контроля версий. А докер тут совсем без надобности.
Я вот нифига не понимаю зачем пихают Докер в каждый второй лендос или микро-магазин. Ок, ну работаешь ты под виндой (я так работаю, например) - поставь Вагрант и запускай дев-сервер под ним. Докер - это нереальный оверкилл в 99% случаев. Т.е. если вы понимаете зачем он вам, то он очень хорош, но если это просто дань моде, то я даже не знаю.
Лично я на проде использую nginx+uwsgi/gunicorn+supervisor. Supervisor не нужен, но мне с ним удобнее и привычнее. Код подтягиваю из Гита (где-то руками, где-то фабриком).