Локальная разработка Django, удаленное тестирование и производственная конфигурация

#django #git

#django #git

Вопрос:

Я пишу несколько приложений django, и у меня есть эта настройка:

  1. локальная машина (ноутбук), которую я использую для разработки, с локальным dev virtualenv
  2. удаленный компьютер VPS (с общедоступным адресом), используемый для тестирования. Мне нужно, чтобы некоторые конечные пользователи тестировали мое приложение, прежде чем переходить на prod с помощью test virtualenv
  3. VPS удаленного компьютера (с общедоступным адресом, таким же, как указано выше), используемый для производства с помощью production virtualenv

Я использую git для управления версиями.

Идея, которую я до сих пор (после прочтения различных руководств), чтобы управлять всем, заключается в:

  1. разработка на локальном компьютере новой ветки
  2. отправить ветку в git
  3. развертывание ветки в тестовом virtualenv
  4. протестируйте это
  5. тест пройден, нажмите ветку для освоения и развертывания в рабочей среде virtualenv

И у меня много вопросов по этому поводу:

  1. это рекомендуемый подход?
  2. как я могу получить новую ветку для тестирования virtualenv, а не для производства? Нужно ли мне иметь две отдельные папки приложений, одну для prod и одну для test?
  3. Как я могу затем переместить код из test в prod?

Заранее спасибо, я новичок в django / git, поэтому я пытаюсь подойти к этому наилучшим образом с самого начала.

Ответ №1:

Мне кажется, что это почти правильно (но есть много стратегий), я бы создал ветку тестирования, чтобы вы могли продолжать продвигаться к ветке разработки, пока другие тестируют тестовую ветку. Затем, когда он проходит тестовое слияние с Master.

(Кроме того, если вы хотите упростить свою жизнь, используйте fab-файлы для «извлечения» на удаленном компьютере.)