Данная инструкция поможет вам обновить приложение Creatio до последней версии независимо от того, какая версия приложения установлена у вас сейчас. С обзором изменений и улучшений, реализованных в новой версии Creatio, вы можете ознакомиться в описании релизов.
Если в вашем приложении есть установленные культуры, которые не используются сотрудниками компании, то рекомендуем перед началом обновления удалить эти культуры. Это позволит ускорить обновление, так как не потребуется загружать данные для неактуальных культур. Подробнее: Инструменты очистки дискового пространства.
Также, прежде чем приступить к обновлению, перейдите в раздел Конфигурация и выполните последовательно действия Сгенерировать исходный код для всех элементов и Компилировать все. Если в результате выполнения этих действий возникнут ошибки, их необходимо исправить, и только после этого начинать процедуру обновления.
Как выполнить обновление
Рекомендуем выполнять обновление в два этапа:
-
Сначала выполните обновление на тестовом сайте с копией актуальной базы данных.
-
Если первый этап завершился успешно, то обновите продуктивную (production) версию приложения.
В общем случае процесс обновления состоит из следующих шагов:
-
Создайте копию базы данных и бинарных файлов продуктивного сайта, которые понадобятся для развертывания тестового сайта. Для создания резервной копии бинарных файлов просто заархивируйте их в любой другой директории.Подробнее: Создание резервной копии базы данных.
-
Создайте тестовый сайт в IIS. Подробнее: Установка и настройка приложения Creatio on-site.
-
Установите обновление на тестовый сайт. Подробнее: Установка обновления.
-
Проверьте корректность работы тестового сайта. Если основные и часто используемые функции выполняются без ошибок, то можно приступить к обновлению продуктивного сайта. Подробнее: Запуск, компиляция и проверка работы сайта.
-
Создайте копии базы данных и приложения. Они понадобятся для возврата на рабочую версию в случае неполадок. Подробнее: Создание резервной копии базы данных.
-
Остановите рабочую версию приложения. Подробнее: Остановка сайта.
-
Установите обновление на продуктивную версию. Подробнее: Установка обновления.
-
Запустите сайт и проверьте работоспособность обновленного приложения. Подробнее: Запуск, компиляция и проверка работы сайта.
Если ваше приложение работает в режиме веб-фермы, то после успешного обновления тестового и одного из продуктивных сайтов необходимо выполнить еще несколько шагов:
-
Установить значения Data Source и Initial Catalog в файле Terrasoft.Tools.WorkspaceConsole.exe.config.
-
Отключить все сайты, кроме того, который был обновлен.
-
Скопировать в них содержимое папки myapp\webapp\conf с обновленного сайта.
-
Включить все сайты.
Создание резервной копии базы данных
Резервная копия базы данных продуктивного приложения нужна не только для возврата на рабочую версию сайта в случае неполадок, но также для создания тестового сайта.
Создание резервной копии базы данных MS SQL Server
-
Запустите Microsoft SQL Server Management Studio.
-
Выберите команду Back Up в разделе Tasks в контекстном меню каталога базы данных приложения.
-
Укажите название копии базы данных и каталог, в котором будет создана резервная копия. Нажмите OK, чтобы начать резервное копирование (Рис. 1).
В случае обновления продуктивной версии Creatio рекомендуем также создать копию приложения при помощи любого файлового менеджера.
Чтобы в дальнейшем открыть резервную копию базы данных:
-
Запустите и авторизируйтесь в Microsoft SQL Studio.
-
Создайте новую базу данных, если необходимо извлечь часть данных из бэкапа, или выберите имеющуюся базу данных, если необходимо восстановить утерянные данные.
-
В контекстном меню нужной базы данных выберите команду Restore Database.
-
В окне восстановления укажите путь к файлу резервной копии.
-
Нажмите OK и дождитесь восстановления данных.
Развертывание базы данных из резервной копии подробно описано в отдельной статье Развернуть базу данных MS SQL.
Создание резервной копии базы данных Oracle Database
-
Подключитесь к серверу Oracle с помощью утилиты SqlPlus:
- SYS_PASSWORD — пароль для авторизации на сервере Oracle;
- ORACLE_HOST — адрес сервера Oracle;
- ORACLE_PORT — порт сервера Oracle;
- SERVICE_NAME — имя сервиса Oracle.
- Выполните в SqlPlus следующие команды:
- DIRECTORY_ALIAS — псевдоним директории, в которой будет размещена резервная копия;
- PATH_TO_BACKUP_DIRECTORY — путь к директории, в которой будет размещена резервная копия;
- BACKUP_SCHEMA_NAME — имя схемы, для которой выполняется резервное копирование.
- Выполните резервное копирование схемы с помощью утилиты expdp:
- ORACLE_HOST — адрес сервера Oracle;
- ORACLE_PORT — порт сервера Oracle;
- SERVICE_NAME — имя сервиса Oracle;
- DIRECTORY_ALIAS — псевдоним директории, в которой будет размещена резервная копия;
- BACKUP_SCHEMA_NAME — имя схемы, для которой выполняется резервное копирование;
- BACKUP_SCHEMA_PASSWORD — пароль схемы, для которой выполняется резервное копирование;
- BACKUP_FILE_NAME — имя файла, в который будет выгружена схема.
В результате работы утилиты expdp будет создана резервная копия схемы BACKUP_SCHEMANAME с именем файла BACKUP_FILE_NAME в директории PATH_TO_BACKUP_DIRECTORY.
Развертывание базы данных из резервной копии подробно описано в отдельной статье Развернуть базу данных Oracle.
Создание резервной копии базы данных PostgreSQL
Для создания резервной копии базы данных необходима утилита pg_dump. Она находится в каталоге установленного программного обеспечения PostgreSQL.
-
Установите пароль подключения к серверу базы данных в переменную окружения:
- Выполните следующую команду:
- ServerIP — адрес сервера PostgreSQL;
- ServerPort — порт сервера PostgreSQL;
- SysUserName — имя системного пользователя PostgreSQL (задается при установке PostgreSQL сервера);
- SysUserPassword — пароль системного пользователя PostgreSQL (задается при установке PostgreSQL сервера);
- BackupFilePath — директория, в которой будет размещена резервная копия;
- DatabaseName — имя базы данных, для которой выполняется резервное копирование.
В результате работы утилиты будет создана резервная копия базы данных в директории BackupFilePath.
Развертывание базы данных из резервной копии подробно описано в отдельных статьях Развернуть базу данных PostgreSQL (Linux) и Развернуть базу данных PostgreSQL (Windows).
Установка обновления
Чтобы установить обновление:
- Удалите временные файлы Creatio из каталога сайта.
Адреса файлов, которые необходимо удалить, указаны в настройке tempDirectory в блоке compilation (настройка находится в web.config loader-a и web.app).
Если настройка tempDirectory не указана, то очистите файлы, хранящиеся по приведенным ниже адресам (где %ApplicationName% — имя сайта в IIS):
64 bit
- %windir%\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files%ApplicationName%
- %windir%\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files%ApplicationName%_0
32 bit
- %windir%\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files%ApplicationName%
- %windir%\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files%ApplicationName%_0
При отсутствии доступа к интернету на сервере приложения
Чтобы скачать все необходимые для обновления данные, вам понадобится компьютер, который подключен к интернету. Выполняйте на компьютере с доступом к интернету все инструкции шага "Установка обновления" до п. 4 включительно.
После п. 4 перейдите на сервер приложения. Как это сделать, читайте в инструкции ниже.
-
Скачайте сервис выгрузки дистрибутивов для обновления: скачать сервис.
-
Откройте файл скрипта downloader.json для редактирования. Заполните в нем все параметры соответствующими значениями:
- WebRootDirectory — путь к корневой папке сайта. Не указывайте этот параметр, если на сервере вашего приложения отсутствует доступ к интернету и вы выгружаете данные с другого компьютера.
-
WorkDirectory — путь к папке, где будут сохраняться инсталяционные пакеты и утилита обновления.
-
Site — имя вашего сайта в IIS.
- Product — название продукта, на котором развернут сайт. Скопируйте нужное название из блока enum Product в файле Downloader.ps1.
-
DbEngineType — тип СУБД. Скопируйте нужное название из блока enum DbEngineType в файле Downloader.ps1.
- VersionBuild — текущая версия вашего приложения.
- SkipBinary — добавьте вручную этот параметр со значением “true” в downloader.json, если у вас уже есть дистрибутивные файлы и вы не хотите выкачивать их повторно.
- ConnectionString — строка подключения к базе данных. Внимательно скопируйте данную строку с вашего подключения к базе. Не указывайте этот параметр, если на сервере вашего приложения отсутствует доступ к интернету и вы выгружаете данные с другого компьютера.
- CurrentSchemaName — текущая схема в БД. Для MS SQL — “dbo”, для PostgreSql — “public”, для Oracle — ваша схема.
- RedisServer — Redis-сервер.
- RedisDB — номер базы Redis.
- RedisPassword – пароль на Redis.
- RedisPort — порт Redis.
- UseAWS — добавьте вручную этот параметр со значением “true”, если вы используете AWS.
Обратите внимание, что параметры ниже не являются обязательными. Если их не указывать в downloader.json, то они будут определены автоматически по пути WebRootDirectory.
- ConnectionString
- CurrentSchemaName
- DbEngineType
- RedisServer
- RedisDB
- RedisPassword
- RedisPort
Пример заполнения файла downloader.json:
-
Запустите Powershell-скрипт Downloader.ps1. Для корректной отработки данного скрипта должен быть установлен PowerShell 5.1 и выше.
После выполнения скрипта в папке, которую вы указали в workDirectory, создается папка с набором пакетов обновлений InstallPackages и папка с утилитой обновления.
В папке InstallPackages будет создана следующая структура папок/файлов:
-
На каждую версию появляется отдельная папка в алфавитном порядке соответственно плану обновления.
-
В каждой папке версии находится: архив с файлами соответствующей версии (в процессе обновления архив автоматически распакуется в папки App, Pkg, Template) и папка со сценарием (Scenario).
Пример файловой структуры:
7.16.0
-
7.16.0.284_SalesTeam _SoftKey_MSSQL_ENU.zip
-
Scenario
7.16.1
-
7.16.1.299 SalesTeam _SoftKey_MSSQL_ENU.zip
-
Scenario
7.16.2
-
7.16.2.574_SalesTeam _SoftKey_MSSQL_ENU.zip
-
Scenario
При отсутствии доступа к интернету на сервере приложения
Перед переходом к следующему шагу перейдите на сервер приложения. Для этого:
-
Скопируйте сформированную папку (с набором пакетов обновлений InstallPackages, папкой с утилитой обновления Updater и файлом Start.bat) и переместите ее на сервер, где находится ваше приложение.
-
Откройте файл скрипта install.xml из папки Updater для редактирования. Заполните в нем следующие параметры соответствующими значениями:
- WebRootDirectory — путь к корневой папке сайта.
- InstallPackagesPath — путь к папке, где сохранены инсталляционные пакеты и утилита обновления.
- ConnectionString — строка подключения к базе данных. Внимательно скопируйте данную строку с вашего подключения к базе.
-
Сохраните внесенные изменения.
Перед обновлением на версию 7.15.3
Перед обновлением на версию 7.15.3 вам необходимо убедиться в отсутствии кастомизаций ReportService в вашей конфигурации.
Для этого используйте один из скриптов ниже в зависимости от того, какую систему управления базами данных вы используете: MSSQL или PostgreSQL.
Скрипт для MSSQL:Скрипт для Oracle:
Если скрипт не вернул результатов, то можете перейти к следующим шагам обновления.
Если скрипт вернул список замещенных схем, то вам необходимо выполнить анализ схем (сравнить их с коробочной).-
Проверить, в каких пакетах находятся схемы из выборки:
-
Если в выборку попали схемы из базовых пакетов: проверить заблокирован ли базовый пакет и значение Maintainer базового пакета должно быть «Terrasoft».
-
Если в выборку попали только схемы из кастомных пакетов, тогда необходимо проанализировать схемы из выборки.
-
-
В случае, если в кастомной в схеме присутствует using Terrasoft.Reports: вам необходимо удалить using (данное действие носит рекомендательных характер и не повлияет на обновление).
-
В случае, если в замещенной в схеме присутствуют упоминания других инструментов для генерирования отчетов, но при этом логика использования не меняется по сравнению с коробочной, тогда вам необходимо воспользоваться инструкцией.
-
В случае, если в замещенной в схеме присутствуют упоминания других инструментов для генерирования отчетов и при этом логика формирования отчетов изменена, тогда вам необходимо провести анализ замещений и адаптировать их под работу с пакетом (пакет уже включен в вашу конфигурацию начиная с версии 7.15.0).
-
-
Перед запуском обновления рекомендуем проверить, что компоненты ваших серверов соответствуют параметрам, перечисленным в контейнере “prerequisites” файла Updater.dll.config, который находится в папке Updater:
В параметрах указаны минимально необходимые версии компонентов Creatio:
- NetFramework — версия .NET Framework;
- NetCore — версия .NET Core;
- VisualCpp — версия Visual C++;
- Database — версия базы данных;
- IIS — версия сервера IIS;
- Redis — версия Redis.
Проверку версий утилита Updater выполняет на основании значений “version” параметров.
Проверка версии для Redis работает только в том случае, если сервер приложений и сервер Redis установлены на одном компьютере. В противном случае закомментируйте параметр “Redis”.
-
В папке с утилитой обновления Updater найдите и запустите файл Updater.exe от имени администратора. Также для корректного выполнения обновления у пользователя должны быть права на модификацию папок.
В ходе выполнения обновления будет последовательно запущено несколько команд, дождитесь завершения процесса.
Если при запуске обновления вы получили ошибку "Installed components/software have an outdated/incorrect version. In order to start the Creatio update, please upgrade it", то проверьте в списке программных компонентов (над текстом ошибки) какого именно ПО не хватает и установите его.
Если в процессе обновления возникли другие ошибки, то необходимо прекратить процедуру и обратиться в службу поддержки, предоставив папку с логами обновления: Каталог CreatioUpdater\InstallPackages\%Version%\Log.
Если обновление прошло успешно, то необходимо очистить Redis.
После успешного обновления необходимо убедиться, что используются микросервисные компоненты последней версии. В противном случае их также необходимо обновить.
Лицензирование приложения при обновлении
Восстановление системы перед повторным запуском обновления
1.Удалите все файлы приложения и скопируйте на их место бинарные файлы из резервной копии, сделанной перед обновлением.
2.Восстановите базу данных из резервной копии.
3.В директории InstallPackages удалите из дочерних папок для всех версий папки App, Log, Pkg, Temp, Template, если они были созданы.
4.Внесите изменения, которые вам перечислит служба поддержки в ответе на письмо с логом обновления.
После выполнения этих шагов можно повторно запускать обновление приложения.
При обновлении на версию 7.8.2
Если для разработки используется система контроля версий SVN, после установки обновления необходимо дополнительно выполнить утилиту FlatPackageConverter, которая:
1.Перестраивает структуру ресурсов. Ресурсы будут относиться к пакету, а не схеме.
2.Исправляет некорректные свойства SVN файлов ресурсов.
3.Исправляет некорректные имена культур.
4.Удаляет некорректные файлы ресурсов (пустые или без элементов) и ресурсы, у которых нет схем в этом же пакете.
Скачайте и распакуйте архив FlatPackageConverter.rar. Откройте в любом текстовом редакторе файл example.bat, который отвечает за запуск утилиты FlatPackageConverter.exe c нужными параметрами в виде:
Описание используемых параметров представлено в таблице.
Параметр |
Описание |
---|---|
<repositoryUri> |
Путь к вашему репозиторию SVN. |
<version> |
Версия пакетов, структуру которых необходимо обновить. |
<user> |
Логин пользователя SVN. |
<password> |
Пароль пользователя SVN. |
<commentFilePath> |
Путь к локальному файлу, который содержит комментарий для фиксации изменений в SVN. |
<copyPath> |
Путь к директории, в которую будут копироваться временные файлы, необходимые для работы утилиты. |
<kind> |
Определяет тип перемещения ресурсов: |
|
|
|
|
|
|
<needDeletedWrongResources> |
True — удаляет все некорректные файлы ресурсов; записывает всю информацию в журнал удаления. Рекомендуемая опция. |
False — выводит информацию об ошибках и предупреждениях, которые затем необходимо исправить вручную. |
Пример обновления Creatio версии 7.8.1 на 7.8.2 будет иметь вид:
При обновлении на версию 7.8.4
Если для разработки используется система контроля версий SVN, после установки обновления необходимо дополнительно выполнить утилиту FlatPackageConverter, которая удаляет устаревшие файлы ресурсов схем.
Скачайте и распакуйте архив FlatPackageConverter.rar. Откройте в любом текстовом редакторе файл example.bat, который отвечает за запуск утилиты FlatPackageConverter.exe c нужными параметрами в виде:
Описание используемых параметров представлено в таблице.
Параметр |
Описание |
<repositoryUri> |
Путь к вашему репозиторию SVN. |
<version> |
Версия пакетов, структуру которых необходимо обновить. |
<user> |
Логин пользователя SVN. |
<password> |
Пароль пользователя SVN. |
<commentFilePath> |
Путь к локальному файлу, который содержит комментарий для фиксации изменений в SVN. |
<copyPath> |
Путь к директории, в которую будут копироваться временные файлы, необходимые для работы утилиты. |
Пример обновления Creatio версии 7.8.3 на 7.8.4 будет иметь вид:
При обновлении на версию 7.9.0
Если для разработки используется система контроля версий SVN, после установки обновления необходимо дополнительно выполнить утилиту FlatPackageConverter, которая очищает метаданные от неправильно сформированных метаданных локализируемых строк.
Скачайте и распакуйте архив FlatPackageConverter.rar. Откройте в любом текстовом редакторе файл example.bat, который отвечает за запуск утилиты FlatPackageConverter.exe c нужными параметрами в виде:
Описание используемых параметров представлено в таблице.
Параметр |
Описание |
<repositoryUri> |
Путь к вашему репозиторию SVN. |
<version> |
Версия пакетов, структуру которых необходимо обновить. |
<user> |
Логин пользователя SVN. |
<password> |
Пароль пользователя SVN. |
<commentFilePath> |
Путь к локальному файлу, который содержит комментарий для фиксации изменений в SVN. |
<copyPath> |
Путь к директории, в которую будут копироваться временные файлы, необходимые для работы утилиты. |
Пример обновления Creatio версии 7.8.4 на 7.9.0 будет иметь вид:
При использовании Redis Sentinel
Если у вас развернута отказоустойчивая конфигурация Redis, то при обновлении системы на версию 7.15.2 и выше обратитесь, пожалуйста, в службу поддержки Creatio за дополнительной информацией относительно системы Redis Sentinel, которая обеспечивает высокую надежность Redis.
Поддержка Redis Sentinel будет прекращена в Creatio версии 7.18.3. Рекомендуем после обновления Creatio до версии 7.18.0 и выше перейти на механизм Redis Cluster.
При обновлении с целью расширения продукта
- Скачайте сервис выгрузки дистрибутивов для обновления: скачать сервис.
- Найдите в папке Updater файл Updater.dll.config.
-
В блок appSettings добавьте строку:
- Обновите приложение по стандартному сценарию. Обновление выполняется на ту же версию, которая была до расширения.
Если в ваши web.config файлы ранее вносились дополнительные настройки, например, настройки интеграций или внешних сервисов, то их необходимо перенести вручную после успешного обновления.
Остановка сайта
Чтобы избежать потери данных, рекомендуем остановить продуктивный сайт, прежде чем выполнять обновление.
- Откройте Internet Information Services (IIS) Manager.
- Остановите продуктивный сайт с помощью команды Stop в области Actions. (Рис. 2).
Запуск, компиляция и проверка работы сайта
После обновления Creatio необходимо запустить сайт, компилировать приложение и убедиться в корректности работы сайта:
- Откройте Internet Information Services (IIS) Manager.
- Запустите сайт с помощью команды Start в области Actions.
- Откройте сайт в браузере с помощью команды Browse в области Actions (Рис. 3).
- Для перегенерации клиентского статического контента выполните действие Компилировать все в разделе Конфигурация.
- Войдите в приложение и проверьте корректность выполнения часто используемых операций.
- Если все работает корректно, можно удалить резервные копии приложения и базы данных.
При обновлении на версию 7.10.1
После обновления Creatio на версию 7.10.1, адрес и IP сервиса обогащения данных будут изменены. Для получения новых адреса и IP сервиса обратитесь в службу поддержки.
Ранее действующий адрес cloud-service.bpmonline.com (ip: 188.99.10.125) теперь используется только для функциональности Marketing Creatio (например, для email-рассылок).
При обновлении на версию 7.11.1 (для продукта Financial Services Creatio, lending edition)
Если вы используете Financial Services Creatio, lending edition, и в вашем приложении кастомизирована страница заявки (FinApplicationPage), то после базового сценария обновления необходимо выполнить следующие действия.
-
Скачайте последнюю ревизию пакетов из svn.
-
Запустите утилиту UpdateFinAppLendingPage.
Формат запуска утилиты из командной строки: UpdateFinAppLendingPage.exe "Путь к скачанной рабочей копии svn".
Пример запуска: UpdateFinAppLendingPage.exe C:\MyPackagesFromSvn\.
-
Зафиксируйте изменения на сервере svn.
-
Обновите конфигурацию из svn.
При обновлении на версию 7.16.0
После обновления Creatio на версию 7.16.0 для корректной работы почтовых сервисов IMAP/SMTP и Exchange необходимо развернуть сервис синхронизации Exchange Listener.
При обновлении на версии 7.16.1 и 7.16.2
Перед обновлением на версии 7.16.1 и 7.16.2 убедитесь в отсутствии кастомизаций с использованием устаревшей библиотеки и класса Terrasoft.Mail.SmtpClient в вашей конфигурации.
Для этого выполните скрипт.
Скрипт для MSSQL
Скрипт для Oracle Database
Выполните первый скрипт, чтобы создать процедуру:
Далее выполните основной скрипт:
Если скрипт не вернул результатов, то можете перейти к следующим шагам обновления.
Если скрипт вернул список схем, то выполните следующие шаги:
-
Проверьте, в каких пакетах находятся схемы из выборки:
-
Если в выборку попали схемы из базовых пакетов, то проверьте, заблокирован ли базовый пакет и установлено ли значение Maintainer базового пакета как "Terrasoft".
-
Если в выборку попали только схемы из кастомных пакетов, то проанализируйте схемы из выборки.
-
-
Если кастомная схема содержит директиву "using", но не включает ее типы, то удалите "using".
-
Если кастомная схема содержит устаревшие директивы, то измените механизм согласно следующей инструкции: "Отправка email-сообщений".
При обновлении на версию 7.17.1
Если вы используете продукт Marketing Creatio или CRM-линейку, в которую он входит, то убедитесь, что перед обновлением на версию 7.17.1 приложение было перелицензировано. Иначе после выполнения обновления могут возникнуть ошибки при подсчете количества лицензий активных контактов и отправке рассылок. Подробнее: Лицензирование.
Приятной работы в новой версии Creatio!