Как обновить среду компакт-диска Sitecore?

В нашей производственной среде есть один сервер CMS и два сервера CD. Эти два сервера CD используют общую базу данных Web + Security, у них нет доступа к базе данных Core.

Мы хотим начать путь обновления с 6.2 rev 100507 до 6.4.1 Update 3. Первое обновление, которое нужно применить, - это перейти к 6.3.0 Initial Rev.

Есть ли какие-нибудь подробности о том, как мы будем обновлять эти две среды компакт-дисков? В документе Sitecore «Настройка производственной среды» это кратко упоминается, но деталей немного не хватает, если не сказать больше:

Если вы удалите содержимое папки / sitecore, помните, что у вас больше не будет доступа к бэкэнду Sitecore на серверах доставки контента. Это может потенциально осложнить обновление, поскольку не будет доступа к мастеру установки Sitecore для развертывания обновления. В этом случае вам нужно будет вручную обновить Sitecore, переместив файловые ресурсы из пакетов обновления в файловую систему серверов доставки контента.

Но подробностей о том, как этого добиться, нет. Я открыл пакет обновления, чтобы найти эти папки:

  • характеристики
  • метаданные
  • установщик
  • удаленные папки
  • удаленные файлы
  • измененный элемент
  • измененные файлы
  • добавленные элементы
  • добавленные папки
  • добавленные файлы

Большинство этих файлов кажутся файлами DIFF, особенно для Sitecore, без указания того, как они могут быть применены к серверу. (т.е. это не просто случай перетаскивания файлов).

Я полагаю, что это должен быть общий сценарий, есть ли какие-либо руководства, которым можно следовать, или у кого-нибудь есть предложения, как лучше всего это сделать?


person Kasaku    schedule 29.11.2011    source источник


Ответы (3)


В этой заметке конкретно говорится о файлах файловой системы, о которых вы упомянули. Пакет Sitecore содержит сериализованные элементы Sitecore в плоских файлах, а также другие файлы файловой системы, такие как библиотеки DLL, файлы кода (ASPX, ASCX, JS) и т. Д. Как только вы это сделали, разархивируйте пакет и просмотрите папки. . Обратите внимание на папки *folders и *files:

  • удаленные папки
  • удаленные файлы
  • измененные файлы
  • добавленные папки
  • добавленные файлы

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

Я бы порекомендовал продолжить этот процесс:

  1. Дублируйте среду компакт-диска в «новую» среду компакт-диска (включая дублирование базовых и веб-баз данных).
  2. Основываясь на примечаниях выше, обновите файловую систему, добавив измененные папки и файлы.
  3. Создайте новую цель публикации в экземпляре CM для публикации в «новой» веб-базе данных.
  4. Установите обновление на стороне CM, чтобы получать любые новые / измененные элементы Sitecore.
  5. После завершения опубликуйте из CM на ваш новый экземпляр компакт-диска на основе созданной вами новой цели публикации.

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

person Mark Ursino    schedule 29.11.2011
comment
К сожалению, это не совсем решает проблему. Файлы в пакете - это точные файлы, это файлы XML с двоичным кодом для файлов назначения внутри них (как я уже упоминал, файлы DIFF), должен быть способ их извлечения. Я думаю, что более простым решением здесь могло бы быть сравнение свежих установок базовой и целевой версий и соответствующим образом изменить сборки + конфигурации. - person Kasaku; 01.12.2011
comment
Тогда я не понимаю вашей проблемы. Что мешает разархивировать пакет и использовать файлы из него? Вы сказали, что он включает двоичные файлы. - person Mark Ursino; 01.12.2011
comment
Он включает двоичные файлы, но в текстовом формате в файлах XML (см. Предыдущий комментарий). Я уверен, что данные могут быть извлечены (Sitecore должен это делать), но не сразу понятно, как этого добиться, если только эти файлы не относятся к широко принятому стандарту, который я не распознал? - person Kasaku; 23.12.2011
comment
Скачал само обновление и осмотрел. Я согласен, исходя из того, что он показывает, я не уверен, как вы будете вручную вносить изменения, если необработанные данные DLL сериализованы в XML. Я бы создал заявку в службу поддержки Sitecore, поскольку документ Sitecore утверждает, что это можно сделать вручную. Другая идея - декомпилировать код в Sitecore.Update.dll и выяснить, как на самом деле работает механизм обновления Sitecore. - person Mark Ursino; 23.12.2011
comment
Я думаю, что они, возможно, отказались от этого сейчас, поскольку раньше я не мог найти этот документ на их сайте. Я предполагаю, что они решают справиться с этим через поддержку, а не через официальную документацию. В конце концов, я решил проблему, как описано в моем ответе. - person Kasaku; 23.12.2011

Для обновления у вас должен быть мастер установки в папке sitecore \ admin \ Wizard. Вы можете скопировать эту папку с CMS на компакт-диск, установить пакет, а затем удалить папку (или оставить - это не критично)

person Michael Baranov    schedule 29.11.2011
comment
В цитируемой документации предполагается, что это можно сделать без мастера. - person Kasaku; 29.11.2011
comment
Кстати, не могли бы вы дать мне ссылку на упомянутый документ? - person Michael Baranov; 29.11.2011
comment
+1 к временному копированию папки / sitecore на ваш CD-сервер для выполнения обновления. Это просто папка / файлы, поэтому вы можете использовать ее для обновления, а затем удалить. - person ; 09.12.2011
comment
Элементы должны обрабатываться процессом обновления CMS, он обновляет только Master + Core. По крайней мере, это обновление было, есть ли какие-либо обновления, специально обновляющие Web Db, я бы в этом сомневался? - person Kasaku; 23.12.2011
comment
@horseman, у меня такое чувство, что этот документ мог быть удален, так как я изо всех сил пытаюсь найти его в SDN! Это означало бы, что официальной помощи по обновлению среды компакт-диска нет. Но это было намного проще, чем я ожидал, я подробно рассказал о том, через что прошел, в новом ответе. - person Kasaku; 23.12.2011

Пакет обновления содержит необходимую информацию, но не в формате, пригодном для немедленного использования. Удаленные / измененные / добавленные папки сообщают вам, какие файлы вам нужно изменить, но поскольку сами файлы закодированы в этих файлах diff, нет простого способа их использовать (предположительно Sitecore имеет встроенный код для извлечения данных).

Решение, которое я нашел, было довольно простым: я использовал пакет обновления, чтобы составить список файлов, которые мне нужно было бы удалить, и какие файлы нужно было бы добавить из целевой версии (заменяя любые файлы, которые существовали, если необходимо). Затем я взял полный установочный ZIP-файл целевой версии, разархивировал его и взял оттуда файлы.

Это будет в основном просто заменой файлов в папках \ bin и \ App_Config, наибольшее количество изменений находится в папке \ sitecore, но это может быть почти полностью исключено для среды компакт-диска, поскольку в большинстве случаев это не требуется.

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

person Kasaku    schedule 23.12.2011