Инструкция по обновлению bpm'online
PDF

Данная инструкция поможет вам обновить приложение bpm’online до версии 7.15.0. С обзором изменений и улучшений, реализованных в bpm’online версии 7.15.0, вы можете ознакомиться в описании релизов.

Данная инструкция универсальна и позволит вам обновиться до последней версии независимо от того, какая сейчас у вас установлена версия приложения.

На заметку

Для обновления bpm’online на сервере приложения нужны .NET Framework версии 4.7.2 и Runtime, при необходимости скачайте актуальную версию приложения. Скачать .NET Framework 4.7.2. Также обновите Developer pack. Скачать Developer pack.

Прежде чем приступить к обновлению, перейдите в раздел [Конфигурация] и выполните последовательно действия [Сгенерировать исходный код для всех элементов] и [Компилировать все]. Если в результате выполнения этих действий возникнут ошибки, их необходимо исправить, и только после этого начинать процедуру обновления.

На заметку

Некоторые шаги процесса отличаются для MS SQL Server, Oracle Database и PostgreSQL.

Как выполнить обновление

Рекомендуем выполнять обновление в два этапа:

1. Сначала выполните обновление на тестовом сайте с копией актуальной базы данных.

2. Если первый этап завершился успешно, то обновите продуктивную (production) версию приложения.

Важно

Обновление продуктивной версии нужно проводить не в бизнес-время, так как при этом сайт будет недоступен.

В общем случае процесс обновления состоит из следующих шагов:

1. Создайте копию базы данных и бинарных файлов продуктивного сайта, которые понадобятся для разворачивания тестового сайта. Для создания резервной копии бинарных файлов просто заархивируйте их в любой другой директории. О создании резервной копии БД подробнее читайте ниже — “Создание резервной копии базы данных”.

2. Создайте тестовый сайт в IIS. Развертывание приложения подробно описано в статье “Установка и настройка приложения bpm'online on-site”.

3. Установите обновление на тестовый сайт. Подробнее читайте ниже — “Установка обновления”.

4. Проверьте корректность работы тестового сайта. Если основные и часто используемые функции выполняются без ошибок, то можно приступить к обновлению продуктивного сайта. Подробнее читайте ниже — “Запуск, компиляция и проверка работы сайта”.

5. Создайте копии базы данных и приложения. Они понадобятся для возврата на рабочую версию в случае неполадок. Подробнее читайте ниже — “Создание резервной копии базы данных”.

6. Остановите рабочую версию приложения. Подробнее читайте ниже — “Остановка сайта”.

7. Установите обновление на продуктивную версию. Подробнее читайте ниже — “Установка обновления”.

8. Запустите сайт и проверьте работоспособность обновленного приложения. Подробнее читайте ниже — “Запуск, компиляция и проверка работы сайта”.

Если ваше приложение работает в режиме веб-фермы, то после успешного обновления тестового и одного из продуктивных сайтов необходимо выполнить еще несколько шагов:

1. Установить значения Data Source и Initial Catalog в файле Terrasoft.Tools.WorkspaceConsole.exe.config.

2. Отключить все сайты, кроме того, который был обновлен.

3. Скопировать в них содержимое папки myapp\webapp\conf с обновленного сайта.

4. Включить все сайты.

На заметку

Для возможности доменной авторизации при входе в систему необходимо перенести настройки аутентификации Windows в обновленное приложение. Подробнее читайте в статье “Как настроить аутентификацию Windows”.

Создание резервной копии базы данных

Резервная копия базы данных продуктивного приложения нужна не только для возврата на рабочую версию сайта в случае неполадок, но также для создания тестового сайта.

На заметку

Если вы разворачиваете резервную копию БД продуктивного сайта и не хотите, чтобы на ней работали ваши интеграции, то выполните скрипт Disable_Synchronization.sql. Скачать скрипт.

Создание резервной копии базы данных MS SQL Server

1. Запустите Microsoft SQL Server Management Studio.

2. Выберите команду [Back Up] в разделе [Tasks] контекстном меню каталога базы данных приложения.

3. Укажите название копии базы данных и каталог, в котором будет создана резервная копия. Нажмите на кнопку [OK], чтобы начать резервное копирование (Рис. 1).

Рис. 1 — Создание резервной копии базы данных

scr_setup_database_backup.png 

На заметку

Убедитесь, что директория для сохранения резервной копии базы данных уже существует. Сервер SQL не имеет прав на создание каталогов.

В случае обновления продуктивной версии bpm’online, рекомендуем также создать копию приложения при помощи любого файлового менеджера.

Чтобы в дальнейшем открыть резервную копию базы данных:

1. Запустите и авторизируйтесь в Microsoft SQL Studio.

2. Создайте новую базу данных, если необходимо извлечь часть данных из бэкапа, или выберите имеющуюся базу данных, если необходимо восстановить утерянные данные.

3. В контекстном меню нужной базы данных выберите команду [Restore Database].

4. В окне восстановления укажите путь к файлу резервной копии.

5. Нажмите [OK] и дождитесь восстановления данных. Подробнее читайте в статье “Установка bpm'online”.

Создание резервной копии базы данных Oracle Database

1. Подключитесь к серверу Oracle с помощью утилиты SqlPlus:

sqlplus "SYS/SYS_PASSWORD@ORACLE_HOST:ORACLE_PORT/SERVICE_NAME AS SYSDBA"

SYS_PASSWORD — пароль для авторизации на сервере Oracle;

ORACLE_HOST — адрес сервера Oracle;

ORACLE_PORT — порт сервера Oracle;

SERVICE_NAME — имя сервиса Oracle.

2. Выполните в SqlPlus следующие команды:

CREATE OR REPLACE DIRECTORY DIRECTORY_ALIAS AS 'PATH_TO_BACKUP_DIRECTORY';

GRANT READ, WRITE ON DIRECTORY DIRECTORY_ALIAS to BACKUP_SCHEMA_NAME;

DIRECTORY_ALIAS — псевдоним директории, в которой будет размещена резервная копия;

PATH_TO_BACKUP_DIRECTORY — путь к директории, в которой будет размещена резервная копия;

BACKUP_SCHEMA_NAME — имя схемы, для которой выполняется резервное копирование.

3. Выполните резервное копирование схемы с помощью утилиты expdp:

expdp "BACKUP_SCHEMA_NAME/BACKUP_SCHEMA_PASSWORD@//ORACLE_HOST:ORACLE_PORT/SERVICE_NAME" SCHEMAS=BACKUP_SCHEMA_NAME DIRECTORY=DIRECTORY_ALIAS dumpfile=BACKUP_FILE_NAME NOLOGFILE=YES

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.

Развертывание базы данных из резервной копии подробно описано в отдельной статье "Установка bpm'online".

Создание резервной копии базы данных PostgreSQL

Для для создания резервной копии базы данных необходима утилита pg_dump. Она находится в каталоге установленного программного обеспечения PostgreSQL.

1. Установите пароль подключения к серверу базы данных в переменную окружения:

set PGPASSWORD=pg_password (“env PGPASSWORD=pg_password” – для linux)

2. Выполните следующую команду:

“C:\PostgreSQL\pg_dump.exe” --host=#ServerIP# --port #ServerPort# --username #SysUserName# --format=c --blobs --verbose -c -f #BackupFilePath# #DatabaseName#

ServerIP — адрес сервера PostgreSQL;

ServerPort — порт сервера PostgreSQL;

SysUserName — имя системного пользователя PostgreSQL (задается при установке PostgreSQL сервера);

SysUserPassword — пароль системного пользователя PostgreSQL (задается при установке PostgreSQL сервера);

BackupFilePath — директория, в которой будет размещена резервная копия;

DatabaseName — имя базы данных, для которой выполняется резервное копирование.

В результате работы утилиты будет создана резервная копия базы данных в директории BackupFilePath.

Развертывание базы данных из резервной копии подробно описано в отдельной статье "Установка bpm'online".

Установка обновления

Чтобы установить обновление:

1. Удалите временные файлы bpm'online из каталога сайта.

Адреса файлов, которые необходимо удалить, указаны в настройке 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

2. Скачайте сервис выгрузки дистрибутивов для обновления. Скачать сервис.

3. Откройте файл скрипта config.json для редактирования. Заполните в нем все параметры соответствующими значениями:

webRootDirectory — путь к корневой папке сайта.

workDirectory — путь к папке, где будут сохраняться инсталяционные пакеты и утилита обновления.

product — название продукта, на котором развернут сайт. Скопируйте нужное название из блока enum Product в файле UpdaterService.ps1.

dbEngineType — тип СУБД. Скопируйте нужное название из блока enum DbEngineType в файле UpdaterService.ps1.

versionBuild — текущая версия вашего приложения.

skipBinary — добавьте вручную этот параметр со значением “true” в config.json, если у вас уже есть дистрибутивные файлы и вы не хотите выкачивать их повторно.

connectionString — строка подключения к базе данных. Внимательно скопируйте данную строку с вашего подключения к базе.

currentSchemaName — текущая схема в БД. Для MS SQL – “dbo”, для PostgreSql - “public”, для Oracle – ваша схема.

RedisServer — Redis-сервер.

RedisDB — номер базы Redis.

RedisPort — порт Redis.

Пример заполнения файла config.json:

{
     "webRootDirectory": "c:\\inetpub\\wwwroot\\delivery",
     "workDirectory": "c:\\temp\\delivery",
     "product": "Studio",
     "dbEngineType": "MSSQL",
     "versionBuild": "7.14.1.935",
     "skipBinary": "true",
     "connectionString": "<ваша строка подключения>",
     "currentSchemaName": "dbo",
     "redis": {
            "server": "localhost",
            "db": 1,
            "port": 6379
     }
}

Важно

Обратите внимание, что во всех путях знак “\” указывается как “\\”.

4. Запустите Powershell-скрипт UpdaterService.ps1. Для корректной отработки данного скрипта должен быть установлен PowerShell 5.1

После выполнения скрипта в папке, которую вы указали в workDirectory, создается папка с набором пакетов обновлений InstallPackages, папка с утилитой обновления и файлом Start.lnk.

В папке InstallPackages будет создана следующая структура папок/файлов:

​На каждую версию появляется отдельная папка в алфавитном порядке соответственно плану обновления.

​В каждой папке версии находится:

​архив с файлами соответствующей версии (в процессе обновления архив автоматически распакуется в папки App, Pkg, Template).

папка со сценарием (Scenario).

      Пример файловой структуры:

  • folder_icon.png ​7.13.0

folder_icon.png ​7.13.0.284_SalesTeam _SoftKey_MSSQL_ENU.zip

folder_icon.png ​Scenario

  • folder_icon.png ​7.13.1

folder_icon.png ​7.13.1.769_SalesTeam _SoftKey_MSSQL_ENU.zip

folder_icon.png ​Scenario

  • folder_icon.png ​7.13.2

folder_icon.png ​7.13.2.934_SalesTeam _SoftKey_MSSQL_ENU.zip

folder_icon.png ​Scenario

5. В папке с инсталяционными пакетами и утилитой обновления (ваша папка workDirectory) найдите и запустите файл Start.lnk.

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

Если при запуске обновления вы получили ошибку "Installed components/software have an outdated/incorrect version. In order to start the bpm’online update, please upgrade it", проверьте по списку программных компонентов (над текстом ошибки) какого именно ПО не хватает и установите его.

Если в процессе обновления возникли другие ошибки, то необходимо прекратить процедуру и обратиться в службу поддержки, предоставив папку с логами обновления: [Каталог BpmonlineUpdater]\InstallPackages\%Version%\Log.

На заметку

Для восстановления базы данных используйте копию базы данных, которая была ранее создана.

information_icon.png При обновлении на версию 7.8.2

Подготовка среды разработки (для версии 7.8.2)

Если для разработки используется система контроля версий SVN, после установки обновления необходимо дополнительно выполнить утилиту FlatPackageConverter, которая:

1. Перестраивает структуру ресурсов. Ресурсы будут относиться к пакету, а не схеме.

2. Исправляет некорректные свойства SVN файлов ресурсов.

3. Исправляет некорректные имена культур.

4. Удаляет некорректные файлы ресурсов (пустые или без элементов) и ресурсы, у которых нет схем в этом же пакете.

Скачайте и распакуйте архив FlatPackageConverter.rar. Откройте в любом текстовом редакторе файл example.bat, который отвечает за запуск утилиты FlatPackageConverter.exe c нужными параметрами в виде:

FlatPackageConverter.exe relocateResources
--repositoryUri=<repositoryUri> --version=<version> --user=<user>
--password=<password> --commentFilePath=<commentFilePath>
--copyPath=<copyPath> --kind=<kind>
--needDeletedWrongResources=<needDeletedWrongResources>

Описание используемых параметров представлено в таблице.

Параметр

Описание

<repositoryUri>

Путь к вашему репозиторию SVN.

<version>

Версия пакетов, структуру которых необходимо обновить.

<user>

Логин пользователя SVN.

<password>

Пароль пользователя SVN.

<commentFilePath>

Путь к локальному файлу, который содержит комментарий для фиксации изменений в SVN.

<copyPath>

Путь к директории, в которую будут копироваться временные файлы, необходимые для работы утилиты.

<kind>

Определяет тип перемещения ресурсов:

  • "package" — перемещение ресурсов на уровне пакета (7.8.1 –> 7.8.2) с добавлением имени менеджера;

  • "schemas" — перемещение ресурсов из схем в пакеты с добавлением имени менеджера (7.7.x –> 7.8.2);

  • "oldschemas" — перемещение ресурсов из схем в пакеты (7.7.x –> 7.8.0).

<needDeletedWrongResources>

True — удаляет все некорректные файлы ресурсов; записывает всю информацию в журнал удаления. Рекомендуемая опция.

False — выводит информацию об ошибках и предупреждениях, которые затем необходимо исправить вручную.

Пример обновления bpm'online версии 7.8.1 на 7.8.2 будет иметь вид:

FlatPackageConverter.exe relocateResources
--repositoryUri=http://tscore-svn:8050/svn/ts5conf/branches/TestPS_14
--version=7.8.0 --user=login --password=password
--commentFilePath=C:\Temp\111.txt --copyPath=C:\Temp\1 --kind=package --needDeletedWrongResources=True

На заметку

В данном примере параметр --version=7.8.0 не является ошибкой, так как указывает версию пакетов, которую необходимо изменить для обновления. Не забудьте указать свой логин и пароль для доступа к репозиторию.

Важно

После выполнения утилита выдаст список ошибок и предупреждений, детальная информация по каждому пакету будет содержаться в журнале. Под ошибками подразумевается наличие ресурсов в пакете без схем, под предупреждениями — наличие пустых файлов ресурсов, которые не содержат ни единого элемента. Чтобы удалить все некорректные файлы ресурсов, используйте параметр needDeletedWrongResources=True.

information_icon.png При обновлении на версию 7.8.4

Подготовка среды разработки (для версии 7.8.4)

Если для разработки используется система контроля версий SVN, после установки обновления необходимо дополнительно выполнить утилиту FlatPackageConverter, которая удаляет устаревшие файлы ресурсов схем.

Скачайте и распакуйте архив FlatPackageConverter.rar. Откройте в любом текстовом редакторе файл example.bat, который отвечает за запуск утилиты FlatPackageConverter.exe c нужными параметрами в виде:

"Полный путь к FlatPackageConverter.exe" deleteSchemaLegacyResources
--repositoryUri=<repositoryUri> --version=<version> --user=<user>
--password=<password> --commentFilePath=<commentFilePath>
--copyPath=<copyPath>

Описание используемых параметров представлено в таблице.

Параметр

Описание

<repositoryUri>

Путь к вашему репозиторию SVN.

<version>

Версия пакетов, структуру которых необходимо обновить.

<user>

Логин пользователя SVN.

<password>

Пароль пользователя SVN.

<commentFilePath>

Путь к локальному файлу, который содержит комментарий для фиксации изменений в SVN.

<copyPath>

Путь к директории, в которую будут копироваться временные файлы, необходимые для работы утилиты.

Пример обновления bpm'online версии 7.8.3 на 7.8.4 будет иметь вид:

FlatPackageConverter.exe deleteSchemaLegacyResources
--repositoryUri=http://tscore-svn:8050/svn/ts5conf/branches/TestPS_14
--version=7.8.0 --user="login" --password="password"
--commentFilePath=C:\Temp\111.txt --copyPath=C:\Temp\1

На заметку

В данном примере параметр --version=7.8.0 не является ошибкой, так как указывает версию пакетов, которую необходимо изменить для обновления. Не забудьте указать свой логин и пароль для доступа к репозиторию.

Важно

После выполнения утилита выдаст перечень ошибок и предупреждений. Детальная информация по каждому пакету будет указана в журнале Out.txt, который находится той же директории, что и утилита. Ошибка “svn: E195022: is locked in another working copy” в журнале означает, что некоторые файлы в репозитории заблокированы. Их необходимо разблокировать и перезапустить утилиту.

information_icon.png При обновлении на версию 7.9.0

Подготовка среды разработки (для версии 7.9.0)

Если для разработки используется система контроля версий SVN, после установки обновления необходимо дополнительно выполнить утилиту FlatPackageConverter, которая очищает метаданные от неправильно сформированных метаданных локализируемых строк.

Скачайте и распакуйте архив FlatPackageConverter.rar. Откройте в любом текстовом редакторе файл example.bat, который отвечает за запуск утилиты FlatPackageConverter.exe c нужными параметрами в виде:

"Полный путь к FlatPackageConverter.exe" fixResourcesInMetadata
--repositoryUri=<repositoryUri> --version=<version> --user=<user>
--password=<password> --commentFilePath=<commentFilePath>
--copyPath=<copyPath>

Описание используемых параметров представлено в таблице.

Параметр

Описание

<repositoryUri>

Путь к вашему репозиторию SVN.

<version>

Версия пакетов, структуру которых необходимо обновить.

<user>

Логин пользователя SVN.

<password>

Пароль пользователя SVN.

<commentFilePath>

Путь к локальному файлу, который содержит комментарий для фиксации изменений в SVN.

<copyPath>

Путь к директории, в которую будут копироваться временные файлы, необходимые для работы утилиты.

Пример обновления bpm'online версии 7.8.4 на 7.9.0 будет иметь вид:

FlatPackageConverter.exe fixResourcesInMetadata
--repositoryUri=http://tscore-svn:8050/svn/ts5conf/branches/TestPS_14
--version=7.8.0 --user="login" --password="password"
--commentFilePath=C:\Temp\111.txt --copyPath=C:\Temp\1

На заметку

В данном примере параметр --version=7.8.0 не является ошибкой, так как указывает версию пакетов, которую необходимо изменить для обновления. Не забудьте указать свой логин и пароль для доступа к репозиторию.

Важно

После выполнения утилита выдаст перечень ошибок и предупреждений. Детальная информация по каждому пакету будет указана в журнале Out.txt, который находится той же директории, что и утилита. Ошибка “svn: E195022: is locked in another working copy” в журнале означает, что некоторые файлы в репозитории заблокированы. Их необходимо разблокировать и перезапустить утилиту.

6. Если в ваши web.config файлы ранее вносились дополнительные настройки (например настройки интеграций или внешних сервисов), то их необходимо перенести вручную после успешного обновления.

Остановка сайта

Чтобы избежать потери данных, рекомендуем остановить продуктивный сайт, прежде чем выполнять обновление.

1. Откройте Internet Information Services (IIS) Manager.

2. Остановите продуктивный сайт с помощью команды [Stop] в области [Actions] (Рис. 2).

Рис. 2 — Остановка сайта в IIS

scr_user_upgrade_instruction_site_start.png 

Запуск, компиляция и проверка работы сайта

После обновления bpm’online необходимо запустить сайт, компилировать приложение и убедиться в корректности работы сайта:

1. Откройте Internet Information Services (IIS) Manager.

2. Запустите сайт с помощью команды [Start] в области [Actions].

3. Откройте сайт в браузере с помощью команды [Browse] в области [Actions] (Рис. 3).

Рис. 3 — Открытие тестового сайта в веб-браузере

scr_user_upgrade_instruction_test_site_browse.png 

Важно

Если в процессе обновления возникли ошибки, то необходимо прекратить процедуру и проверить логи обновления, которые находятся в папке: [Каталог BpmonlineUpdater]\InstallPackages\%Version%\Log. При наличии ошибки вида “Error:Error ” или “Ошибка:Ошибка ” в базовых пакетах, обратитесь в службу поддержки, предоставив папку с логами. Если ошибки возникли в пользовательских пакетах, то необходимо обратиться к разработчикам, которые их создали.

4. Для перегенерации клиентского статического контента выполните действие [Компилировать все] в разделе [Конфигурация].

5. Войдите в приложение и проверьте корректность выполнения часто используемых операций.

6. Если все работает корректно, можно удалить резервные копии приложения и базы данных.

information_icon.png При обновлении на версию 7.10.1

Дополнительные настройки

После обновления bpm’online на версию 7.10.1, адрес и IP сервиса обогащения данных будут изменены. Новый адрес сервиса: api.bpmonline.com (ip: 185.3.141.228). Поэтому необходимо открыть доступ к сервису на ваших серверах (порт 443).

Ранее действующий адрес cloud-service.bpmonline.com (ip: 188.99.10.125) теперь используется только для функциональности bpm’online marketing (например, для email-рассылок).

information_icon.png При обновлении на версию 7.11.1 (для продукта bpm'online lending)

Дополнительные действия для bpm'online lending

Если вы используете bpm'online lending, и в вашем приложении кастомизирована страница заявки (FinApplicationPage), то после базового сценария обновления необходимо выполнить следующие действия.

1.Скачайте последнюю ревизию пакетов из svn.

2.Запустите утилиту UpdateFinAppLendingPage.

Формат запуска утилиты из командной строки: UpdateFinAppLendingPage.exe "Путь к скачанной рабочей копии svn".

Пример запуска: UpdateFinAppLendingPage.exe C:\MyPackagesFromSvn\.

3.Зафиксируйте изменения на сервере svn.

4.Обновите конфигурацию из svn.

Приятной работы в новой версии bpm’online!