2017-02-21 25 views
1

С EPiServer 7 обновление до более новой версии включал:Использование Octopus Deploy с EPiServer для обработки обновления базы данных

  1. Обновление всех пакетов EPiServer.* NuGet
  2. Запуск PM > Update-EPiServer - обновить локальную базу данных
  3. Запуск PM > Export-EPiServer - создать набор файлов сценариев обновления базы данных, которые можно запускать на других серверах.

Однако, если обновление Octopus Deploy было построено и развернуто только обновленным решением EPiServer, база данных не будет обновлена, что означает, что сайт не будет запущен.

В настоящее время я запускаю EPiServerPackageвручную на сервере в каждой из наших сред после развертывания.

Я пытаюсь решить чистейшей образом, чтобы включить папку /EPiUpdatePackage и содержимое, выполнив команду Export-EPiServer производит так, что он будет:

  • Проверено в исходный контроль
  • превратился в пакет NuGet на сборка сервера
  • быть развернуты Octopus Deploy так, что он может быть удаленно выполняется на сервере скрипт развернут на
+1

Могу ли я попросить вас не просто использовать атрибут updateDatabaseSchema ''? –

ответ

1

Согласно предложению Эрика Герлица, я просто использовал <episerver.framework updateDatabaseSchema="true"> в преобразованиях web.config для сред, в которых я хочу, чтобы база данных автоматически обновлялась.

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

+0

Если вам нужны более мощные и настраиваемые инструменты, использующие Octopus, проверьте шаблоны SQL здесь https://library.octopus.com/listing –