Немного предыстории
Я работаю в небольшой компании в качестве разработчика Django.Предыдущий разработчик покинул компанию, и я единственный разработчик (именно поэтому они искали разработчика Django).У компании есть простое веб-приложение, которое необходимо поддерживать и масштабировать.Похоже, что компания получает продажи, а доходы растут.Существует возможность нанять другого разработчика в краткосрочной или среднесрочной перспективе.Сейчас я анализирую возможные улучшения.Это моя первая профессиональная работа в качестве разработчика Django, но в прошлом мне удалось развернуть несколько небольших личных проектов.Как вы можете себе представить, я совсем не эксперт.
Проблема
Мы используем Ubuntu VPS для разработки, используя встроенный веб-сервер Django.И еще один Ubuntu VPS для производства, использующий Nginx + Gunicorn.Мы используем git для контроля версий.Единственный пользователь, которого мы используем (для всего) в обоих VPS - это root.Я не работаю локально на моем компьютере, но подключен через ssh к серверам.Вот мои идеи о структуре:
- Использование root небезопасно.В этом нет сомнений, и мы должны это изменить.
- Что делать, если нанят другой разработчик?Можем ли мы работать вместе на сервере разработки?
Вопрос
Как видно из названия, я хочу знать, какая из них была бы идеальной рабочей структурой длякоманда разработчиков.После нескольких часов поиска в Google мой подход будет выглядеть примерно так:
- Рабочий сервер.
- Тестовый сервер (максимально возможная репликация рабочего сервера).
- Среда разработки.Каждый разработчик должен работать и тестировать свой код локально на своих компьютерах, прежде чем тестировать его на сервере тестирования.
- Использование Git для контроля версий.
- Использование пользователей без полномочий root для тестирования и производствасерверы.
Это только моя точка зрения, и я даже не пробовал.Буду признателен вам поделиться своими знаниями и опытом.
Заранее спасибо!