Поддерживать развитие и живой сайт на appengine - PullRequest
1 голос
/ 19 ноября 2011

Я пытаюсь настроить сайт разработки / тестирования для своего веб-приложения для движка приложений. Я хотел бы иметь возможность передавать функции на сайт разработки, а затем, после того, как они будут протестированы, обновить мой действующий / пользовательский сайт.

  • Какие инструменты доступны для управления такого рода обновлениями?
  • Есть ли какие-либо, которые интегрируются с плагином развертывания Google для eclipse?
  • Есть ли хорошие места для изучения этих типов систем?
  • По каким ключевым словам я должен искать в Google, чтобы я мог узнать больше?

Ответы [ 3 ]

1 голос
/ 21 ноября 2011

Вам нужно создать как минимум два приложения, назовите его (не используйте версию, так как вы можете испортить производство): yourname.appspot.com (производство) yournametest.appspot.com (тест)

Копировать данныеот производства до тестирования с администратором хранилища данных (необходимо добавить appengine_config.py с именем producton - см. документацию в appengine_config.py, чтобы разрешить миграцию данных).

Измените имя версии в app.yaml перед тестами, чтобы разрешить откат кпредыдущая версия.

Развертывание теста - от текущей версии приложения до текущей - тесты см. в журналах и результатах: обновление appcfg -A yournametest yoursourcedir

После успешного завершения теста.Резервное копирование продукции, если есть риск повреждения данных.Развернуть производство - проверить, работает ли новая версия - изменить версию по умолчанию на текущую.appcfg update -A yourname yoursourcedir

Лучшее место для изучения - это страница Google App Engine и Google.

Есть некоторые плагины, но они медленнее, лучше использовать скрипты или командную строку.

1 голос
/ 21 ноября 2011

Вы можете использовать несколько версий вашего приложения; они могут работать параллельно, поэтому вы можете протестировать новую версию перед ее выпуском. Все версии будут использовать одно хранилище данных.

Если вы хотите использовать разные приложения для разработки и производства, вы можете сделать это тоже. Для этого не требуется никакой специальной интеграции, и я не знаю каких-либо инструментов для ее облегчения, поскольку это такая простая задача. Если вы используете инструменты командной строки, вы можете передать --application для переопределения идентификатора приложения в app.yaml; насколько мне известно, это не доступно в Eclipse.

0 голосов
/ 21 ноября 2011

Оба ответа от @Nick и @Chameleon - отличные работоспособные решения.Я использую оба метода, в зависимости от сценария.

Для небольших обновлений решение @Nick имеет смысл.Вы можете протестировать новую версию в прямом эфире, добавив номер версии перед приложением (например: 3.app-id.appspot.com).Вы также должны убедиться, что новая страница не использует URL по умолчанию (предыдущий).

Для основных выпусков, которые могут повлиять на пользователя и / или данные, используйте решение @Chameleon (GAE имеет инструмент для копирования ваших данных в тестовое приложение yr в Datastore Admin).Иногда приложение ведет себя хорошо в локальной среде разработчика, но не работает в режиме реального времени.

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