Развертывание локального стенда online.sbis.ru из дистрибутива и с подключением к серверной БД

Шаг 1: Получение исходных файлов

Скачайте стабильный дистрибутив с сетевых дисков локальной сети "Тензор".

// Windows
file:\\sbis-dev.corp.tensor.ru\programmers\СБиС_3\Локальный%20стенд\test\<версия-дистрибутива>\ext_all.zip
 
//Linux
smb://sbis-dev.corp.tensor.ru/programmers/СБиС_3/Локальный%20стенд/test/<версия-дистрибутива>/nix/ext_all_nix.zip

Примечание: список зеркал сетевых дисков доступен здесь.

Шаг 2: Установка SDK

Условно-стабильные дистрибутивы SDK не тестируются на работоспособность. Они могут понадобиться в редких сценариях разработки. Для сотрудников ярославского офиса дистрибутивы доступны на сетевом диске sbis-dev.corp.tensor.ru. Сотрудники из филиалов должны использовать "зеркала" диска.

  1. Скачайте стабильный SDK с сетевых дисков локальной сети "Тензор".
// Windows
file:\\sbis-dev.corp.tensor.ru\programmers\СБиС_3\Локальный%20стенд\test\<версия-дистрибутива>\SBISPlatformSDK-<версия>
 
//Linux
smb://sbis-dev.corp.tensor.ru/programmers/СБиС_3/Локальный%20стенд/test/<версия-дистрибутива>/nix/SBISPlatformSDK-<версия>

2.Запустите установку SDK.

Шаг 3: Распаковка проекта

  1. Создайте на локальном диске директорию с именем Saby для распаковки проекта.
  2. В корень директории Saby переместите скачанные ранее исходные файлы дистрибутива.
  3. В корне директории Saby создайте новую поддиректорию с именем Project.
  4. Распакуйте в директорию Project исходные файлы дистрибутива.
  5. В директории Saby создайте поддиректорию Server. В дальнейшем в ней будет развёрнут веб-сервер.
  6. Теперь в поддиректории Project расположены файлы проекта. В результате должна получиться следующая файловая структура:
Saby
├─── <скачанные файлы дистрибутива>
├─── Project
│    └─── <распакованные файлы из дистрибутива>
└─── Server

Уточнение

Рекомендуется размещать дистрибутивы, репозитории с исходным кодом и локальные стенды в папку Saby на диске С или в папку Saby на диске D. Каталоги C:/Saby и D:/Saby добавлены администраторами в исключения на уровне общей политики на все локальные компьютеры, т.к. антивирус Kaspersky замедляет как распаковку архива дистрибутива, так и разворот стенда.

Примечание

В компании «Тензор» для работы в ОС семейства Linux используется дистрибутив CentOS 7 (см. заметку), в котором для распаковки архивов следует использовать утилиту unzip. В названии ряда файлов и папок дистрибутива применяются символы кириллицы, которые при распаковке другими архиваторами распознаются некорректно.

Шаг 4: Развертывание проекта

  1. Запустите Genie. Подробнее о работе утилиты можно прочитать здесь.
  2. В меню Genie откройте ProjectOpen
  3. Выберите файл ext.s3cld, который расположен в каталоге с распакованным дистрибутивом.
  4. Укажите установленную версию SDK.
  5. Откройте меню DeployDeploy project
  6. В опции "Root path" установите директорию server, которая была создана ранее (Шаг 3). Она является поддиректорией каталога "saby" и тоже находится в исключениях антивируса, это ускорит процесс развертывания стенда. Для выбора директории необходимо нажать на кнопку "select" напротив каталога, который вы хотите использовать. Так же вы можете указать директорию в поле ввода руками.
  7. В опции "Port" задайте номер порта веб-сервера.
  8. Выберите конфигурацию ini-файла у основного сервиса ext, выбрав ini-файл в колонке "ini file". В открывшемся диалоге установите флаг "Use remote cloud", а в опции "Remote cloud version" установите test для test-online.sbis или dev для dev-online.sbis.ru облака соответственно. Повторите данную процедуру для сервиса ext-ps.
  9. Убедитесь, что в поле "Compiler" выбрано значение "Clang".
  10. Установите флаг "Choose Compiled UI Resources" для увеличения скорости деплоя.
  11. Укажите папку "Сконвертированные модули интерфейса" из распакованного дистрибутива (если это не произошло автоматически).
  12. Для опции "Source of binary files" оставьте значение "From distribution". В поле "Distribution" укажите архив с дистрибутивом.
  13. Нажмите Deploy для разворачивания проекта.

Шаг 5: Создание нового пользователя в серверной БД

В каждом экземпляре облака СБИС создан собственный набор клиентов, данные которых развернуты в серверной БД. В рамках каждого клиента существуют пользователи, через которых физические лица могут авторизоваться в облаке и использовать его функционал. Подробнее о взаимосвязи пользователя и клиента вы можете прочитать в этой документации.

Чтобы локальный стенд работал с данными серверной БД, используется логин одного из таких пользователей. Логин пользователя привязывается к локальному стенду, где он используется. После авторизации физического лица в облаке под выбранным логином, все запросы к бизнес-логике и статике перенаправляются на связанный локальный стенд. Поэтому запрещено привязывать к вашему локальному стенду логины пользователей, которыми пользуются более одного сотрудника (разработчика или тестировщика). В частности, это касается логина "Демо".

  1. В браузере перейдите в облако, в котором выполняется развертывание локального стенда. О выборе такого облака сказано здесь.
  2. Авторизуйтесь:
  3. Перейдите в раздел "Сотрудники". В правом верхнем углу нажмите на кнопку "Все", расположенную рядом с кнопкой фильтрации.
  4. Проверьте, что в правом верхнем углу рядом указано подразделение "Вся наша компания". Если задано другое подразделение, то необходимо выбрать "Вся наша компания" из выпадающего списка. Создайте нового сотрудника нажатием на кнопку кнопку "+".
  5. В открывшейся карточке заполните поля "Фамилия" и "Имя". После этого нажмите на кнопку-ссылку "Логин и пароль".
  6. Задайте логин и пароль для нового пользователя и нажмите на кнопку "Сохранить".
  7. С помощью поля поиска по сотрудникам найдите созданного пользователя и откройте его карточку.
  8. Прейдите в раздел "Доступ в СБИС" и откройте карточку для редактирования.
  9. Нажмите кнопку "Доступ в СБИС запрещен" и выберите "Разрешен полностью".
  10. Нажмите кнопку "Сохранить" в правом верхнем углу панели, чтобы сохранить настройки пользователя.
  11. Выйдите из системы и авторизуйтесь под созданным пользователем.

Шаг 6: Регистрация локального стенда в облаке

  1. В новой вкладке браузера перейдите на Сервис управления облаком. Он доступен по следующим ссылкам:
  2. Авторизуйтесь через LDAP с использованием персональной учетной записи.
  3. Перейдите на вкладку "Мои стенды" и нажмите кнопку "Стенд +".
  4. В открывшемся окне установите следующие настройки и нажмите "Далее":
Имя поляЗначение
Системное имя сервисаСистемное имя — это уникальное имя сервиса, по которому он идентифицируется в облаке среди других сервисов. Подробнее читайте здесь)
Узел сервисаУзел сервиса состоит из двух полей ввода:
  • Имя сервера. Оно же доменное имя компьютера, на котором развертывается локальный стенд. В настоящий момент поддерживается регистрация доменов corp.tensor.ru и region.tensor.ru.
  • Порт, который был задан при развертывании веб-сервера на шаге 4.
База данныхОблачная
Я хочу работать от имени облачного пользователя с логиномУстановите флаг.
Логин пользователяУкажите логин пользователя, которого регистрировали на шаге 5.
Сервис представленияЕсли нужен облачный сервис представления — выберите "Облачный", если разворачивается локальный сервис представления (online-ps) — "Локальный".
См. новость.
  1. Дождитесь регистрации стенда. Об успешном завершении регистрации свидетельствует иконка "молоток" в статусе сервиса.

Шаг 7: Получение конфигурации для локального стенда

  1. Перейдите в директорию config:
local_stand
├─── <скачанные файлы дистрибутива>
├─── project
│    └─── <распакованные файлы из дистрибутива>
└─── server
     └───config
  1. Откройте файлы и сравните их с полученными на шаге 6. Если файлы идентичны, то перейдите в шагу 8. В ином случае замените их на скачанные.

Получить файлы конфигурации для локального стенда можно двумя способами: установить вручную или получить из облака.

На заметку

При изменении ini-файлов разворачивать стенд заново не нужно.

Установка вручную

  1. В браузере на новой вкладке перейдите на Сервис управления облаком. Он доступен по следующим ссылкам:
  2. Авторизуйтесь через LDAP с использованием персональной учетной записи. Подробнее об этом читайте здесь.
  3. В меню выберите пункт "Оркестратор облака" → "Регистратор локальных стендов".
  4. Перейдите на вкладку "Мои стенды". Откройте выпадающее меню и выберите зарегистрированный в шаге 6 стенд. Перейдите на вкладку "Содержимое ini-файла".
  5. Нажмите на иконку "Cохранить".
  6. Получите конфигурационные файлы sbis-rpc-service.ini для каждого из сервисов.
    • Пример конфигурационного файла для сервиса ext:
      [Базовая конфигурация]
      Конфигурация=Адрес='http://pre-test-private.sbis.ru/cfg'
      [Ядро.Сервер приложений]
      ИмяСлужбы=sbis-usd-sirotkin1.corp.tensor.ru-2001-online
  7. В браузере переключитесь на вкладку Genie.
  8. Откройте пункт меню "Settings".
  9. В открывшемся окне в пункте Ini file укажите путь до конфигурационного файла сервиса, который был получен на шаге 6.
  10. Закройте окно.
  11. Перезапустите стенд.
  12. (опционально) Для включения rt-паковки ресурсов, в ini-файл для сервиса ext-ps добавьте настройку:
[Presentation Service]
PackerEnabled=Yes

Получение из облака

  1. В браузере переключитесь на вкладку Genie.
  2. Откройте пункт меню "Settings".
  3. В открывшемся окне установите флаг "Use remote cloud".
  4. В пункте Remote cloud version укажите версию облака.
  5. Закройте окно.
  6. Перезапустите стенд.

Шаг 8: Начало работы

Для отладки стенда воспользуйтесь SBIS LOGS.

  1. В браузере на новой вкладке перейдите на online:
  2. Авторизуйтесь под пользователем, которого создали на шаге 5

На этом этапе можно приступать к работе с локальным стендом: вносить изменения в исходный код бизнес-логики и статики. Эти изменения сразу будут видны в облаке, для которого был развернут стенд.

Для доставки изменений исходного кода в готовый локальный стенд используйте Watcher. Подробнее читайте в статье Работа с Watcher.