Привязать к SVN не связанный с хранилищем пакет

Средний

Важно. Привязать не связанный с хранилищем существующий пакет к SVN можно только в приложении, установленном on-site. Работать с таким пакетом можно только в режиме разработки в файловой системе.

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

Последовательность привязки существующего пакета к хранилищу 

  1. Перейти в режим разработки в файловой системе.
  2. Выгрузить пакет в файловую систему.
  3. Создать необходимые каталоги для пакета в хранилище SVN.
  4. Создать рабочую копию версионной ветки пакета.
  5. Зафиксировать в хранилище каталог пакета.

Альтернативный вариант привязки пакета к хранилищу — через прямой запрос в базу данных. Для этого необходимо:

  1. В разделе Конфигурация добавить в приложение информацию о хранилище SVN.
  2. Привязать хранилище к пакету. Для этого:
    • В таблице SysRepository считать идентификатор записи, содержащей адрес нужного хранилища SVN.
    • В таблице SysPackage в запись, содержащую имя не привязанного к хранилищу SVN пакета, в колонку SysRepositoryId добавить полученный идентификатор.

Пример. Привязать к хранилищу не связанный с SVN существующий пользовательский пакет UsrUnboundPackage.

scr_package_properties.png
URL для доступа к хранилищу SVN
http://svn-server:8050/SDKPackages

Алгоритм реализации примера 

1. Перейти в режим разработки в файловой системе 

2. Выгрузить пакет в файловую систему 

В разделе Конфигурация (Configuration) выполнить действие Выгрузить пакеты в файловую систему (Download packages to file system).

scr_download_to_fs.png

В результате пакет будет выгружен в каталог ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg\UsrUnboundPackage.

scr_package_fs_unbound.png

3. Создать необходимые каталоги для пакета в хранилище SVN 

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

Важно. Работа с SVN с помощью TortoiseSvn рассмотрена сокращенно. Подробные инструкции о работе с хранилищем при помощи TortoiseSvn доступны в документации TortoiseSvn.

scr_create_folder.png

В созданном каталоге необходимо создать подкаталоги branches и tags, т.е. повторить плоскую структуру пакетов Creatio. В завершение в каталоге branches необходимо создать каталог, название которого совпадает с номером версии пакета — 7.11.0.

scr_flat_structure.png

На заметку. Повторять плоскую структуру пакета в хранилище необходимо только в том случае, если в дальнейшем планируется использовать встроенные средства Creatio для работы с SVN.

4. Создать рабочую копию версионной ветки пакета 

Чтобы создать рабочую копию версионной ветки пакета, необходимо выгрузить из хранилища каталог, имя которого совпадает с номером версии пакета (SVN Checkout), в каталог пакета в файловой системе и подтвердить выгрузку в существующий каталог.

Команда SVN Checkout
scr_svn_checkout_mnu.png
Выгрузка из хранилища рабочей копии версионной ветки пакета
scr_svn_checkout.png
Подтверждение выгрузки в существующий каталог
scr_svn_checkout_exists.png

В результате каталог пакета в файловой системе ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg\UsrUnboundPackage станет рабочей копией пакета версии 7.11.0 в хранилище.

scr_bound_package.png

5. Зафиксировать в хранилище каталог пакета 

Чтобы зафиксировать в хранилище все содержимое каталога пакета, необходимо выполнить команду Add... приложения TortoiseSVN, а затем выполнить команду SVN Commit....

Команда Add
scr_add.png
Диалог выбора элементов для добавления в хранилище
scr_add_files.png
Фиксация в хранилище
scr_svn_commit.png

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

scr_result.png

На заметку. Чтобы зафиксировать в хранилище SVN новые схемы пакета, необходимо повторить действия шага 5.

Альтернативный вариант реализации примера 

1. В разделе Конфигурация добавить в приложение информацию о хранилище SVN 

Если информация о нужном хранилище не добавлена в разделе Конфигурация приложения, то необходимо:

  1. Выполнить команду Открыть список хранилищ (Open list of repositories).
    scr_repos_list.png
  2. В открывшемся окне Список хранилищ (List of repositories) при помощи команды Добавить (1) добавить необходимый репозиторий (2). После этого информация о репозитории отобразится в окне Список хранилищ (3). Затем необходимо выделить строку с информацией о хранилище и выполнить аутентификацию (4).
    scr_add_repo.png

2. Привязать хранилище к пакету 

Для этого необходимо выполнить SQL- запрос в базу данных приложения.

Пример SQL-запроса
UPDATE SysPackage 
SET 
    [SysRepositoryId] = 
    (
        select top 1 Id from SysRepository
        where Name = 'SDKPackages'-- Название хранилища.
    )
where [Name]='UsrUnboundPackage'-- Название пользовательского пакета.

Здесь SDKPackages — название хранилища, а UsrUnboundPackage — название пользовательского пакета.

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

3. Выгрузить пакет в файловую систему 

В разделе Конфигурация (Configuration) выполнить действие Выгрузить пакеты в файловую систему (Download packages to file system). В результате привязанный к хранилищу пакет будет выгружен в каталог ..\Terrasoft.WebApp\Terrasoft.Configuration\Pkg\UsrUnboundPackage.