Настройка Google App Engine и настройка производственной среды - PullRequest
1 голос
/ 20 марта 2012

Вот мои текущие настройки:

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

Приложение, написанное на GAE Python 2.7 с использованием django-nonrel

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

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

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

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

2) Файл хранилища данных в git-репо вызывает проблемы. Слияние бинарных файлов? Можно ли переносить этот файл между локальными компьютерами или он испортится?

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

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

Спасибо!

1 Ответ

0 голосов
/ 20 марта 2012

У меня довольно схожая настройка, хотя я все еще работаю на py2.5, django-nonrel.

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

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

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

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

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