Git - Как развернуть код из моего центрального репозитория Git на моем рабочем сервере? - PullRequest
4 голосов
/ 02 декабря 2011

Я новичок в Git. Мне нужно настроить Git для развертывания веб-сайта Django на производственном сервере. Мой вопрос здесь состоит в том, чтобы узнать, как лучше всего это сделать.

К настоящему времени у меня есть только ветвь Мастера. Моя проблема здесь в том, что среда разработки не равна среде производства. Как я могу иметь две среды (разработка и производство) в Git? Должен ли я использовать две новые отрасли (разработка и производство). Пожалуйста, дайте мне подсказку об этом.

Другой вопрос ... когда я закончу загружать / отправлять код на производственный сервер, мне нужно перезапустить Gunicorn (работает на сайте Django). Как я могу это сделать?

И самый важный вопрос ... Должен ли я использовать Git для этого или у меня есть лучшие варианты?

С наилучшими пожеланиями,

Ответы [ 2 ]

2 голосов
/ 02 декабря 2011

Первый вопрос, который вы должны решить, - это структура вашего проекта. Обычно разница между разработкой и производственной средой - это setting.py и url.py. Итак, почему вы сначала разделяете их? :) Например, у вас может быть один основной файл settings.py, в котором вы определяете все общие настройки по умолчанию. Затем в конце файла вы просто импортируете settings_dev.py и урегулирование_prod.py для примера:

try:
    from settings_prod import *
except ImportError:
    pass

try:
    from settings_dev import *
except ImportError:
    pass

Тогда вы можете просто перегрузить все настройки, которые вам нужны, и иметь собственные настройки проекта (например, установленные приложения). Та же логика, которую вы можете использовать для файла urls.py.

Тогда вы можете просто игнорировать добавление файлов * _dev в репо, а на стороне сервера вы можете просто извлечь код из репо и перезапустить http-сервер. Чтобы автоматизировать это сейчас, я не могу дать правильное название приложения для использования. Иногда простым сценарием Python может быть решение, например: смотреть, изменился ли файл datetime и, если да, просто запустить команду перезапуска для http.

Надеюсь, это помогло.

Игнас

0 голосов
/ 02 декабря 2011

Вы можете следовать этой поздней модели - http://nvie.com/posts/a-successful-git-branching-model/

И, git в порядке, но для развертывания используйте Fabric .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...