1

Вот моя текущая настройка:Настройка разработки и производства App Engine

Репозиторий GitHub, ветка для dev. myappdev.appspot.com (не реальный URL) myapp.appspot.com (не реальный URL)

App написана на GAE Python 2.7, используя Джанго-nonrel

Разработка выполняется на локальном сервере Dev. Когда я готов к выпуску dev, я увеличиваю версию, фиксирую и запускаю «manage.py upload» на myappdev.appspot.com

Как только тестирование будет удовлетворительным, я объединю изменения от dev до основного репо , Затем я запускаю «manage.py upload», чтобы загрузить основной код репо в домен myapp.appspot.com.

Является ли эта настройка хорошей? Вот несколько проблем, с которыми я столкнулся.

1) Я новичок в git, поэтому иногда я забываю добавлять файлы, и коммит не уведомляет меня. Поэтому я развертываю код для разработчика, который работает, но не соответствует тому, что находится в ветви dev. (Это плохая практика).

2) Файл хранилища данных в репозитории git вызывает проблемы. Объединение двоичных файлов? Можно ли перенести этот файл между локальными машинами, или он будет запутан?

3) Должен ли я использовать «manage.py upload» для каждой версии в среде dev или prod, или есть лучший способ сделать это? Heroku выглядит так, как будто он может вытащить прямо из GitHub. То, как я делаю это сейчас, похоже, слишком много для человеческой ошибки.

Какие-либо общие рекомендации по улучшению моей настройки?

Спасибо!

ответ

0

Я нахожусь в довольно похожей установке, хотя я все еще бегу на py2.5, django-нереле.

1) Обычно я использую 'git status' или 'git gui', чтобы проверить, не забыл ли я проверить файлы.

2) Я лично не проверяю свое хранилище данных. Вы знакомы с .gitignore? Это текстовый файл, в котором вы указываете файлы для git игнорировать при запуске «git status» и других функций. Я вставлял .gaedata, а также .pyc и файлы резервных копий.

Для управления базой данных я использую файл python manage.py dumpdata>, который переносит базу данных в json-кодированный файл. Затем я могу перезагрузить его, используя «python manage.py loaddata».

3) Я не знаю, как развернуть с git. Вероятно, вы можете написать небольшой скрипт python, чтобы проверить, обновляется ли git до развертывания. Лично, однако, я развертываю материал для проверки, чтобы убедиться, что он работает, прежде чем я его проверю.

+0

Спасибо, это все очень полезно. Я обязательно начну делать .gitignore в хранилище данных, а затем просто загружаю базу данных из json-кодированного файла. Я оставлю вопрос открытым еще на один-два дня, чтобы узнать, есть ли у кого-нибудь предложения. – aglassman

Смежные вопросы