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

Шаг 1: Настройка рабочего места

  1. Выполните настройку рабочего места для вашей ОС — Windows или Linux.
    • Примечание: при выполнении инструкций пункт про установку SDK можно пропустить.
  2. Проверьте доступность вашего рабочего компьютера по его доменному имени.
    1. Получите доменное имя рабочего компьютера.
    2. Узнайте доменное имя своего рабочего компьютера в локальной сети "Тензор". Для этого в командной строке/терминале выполните:
      nslookup <IP-адрес>
    3. Проверьте регистрацию доменного имени в локальной сети "Тензор". Для этого в командной строке/терминале выполните:
      nslookup <доменное имя рабочего компьютера>
      Пример ввода команды и ответа:
      [user@usd-kovinko1 ~]$ nslookup usd-kovinko1.corp.tensor.ru
      Server: 10.76.5.5
      Address: 10.76.5.5#53
       
      Non-authoritative answer:
      Name: usd-kovinko1.corp.tensor.ru
      Address: 10.0.2.15
      Если выполнение команды даёт ошибку вида Non-existent domain или NXDOMAIN, то обратитесь в Техподдержку ГО для решения проблемы.
  3. Скачайте стабильный дистрибутив с сетевых дисков локальной сети "Тензор".
    • 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
  4. Установите SBIS SDK той версии, которая совместима с дистрибутивом.

Какая версия SBIS SDK совместима с дистрибутивом?

В ряде сценариев разработчик может забыть версию дистрибутива и SBIS SDK, который совместим с дистрибутивом. Однако эту информацию можно получить из файла "Схема сборки дистрибутива.s3distr". Файл расположен в корне дистрибутива. Откройте файл на чтение и найдите следующие строчки:

// Совместимая версия SBIS SDK.
version_core="20.1100"
 
// Дата создания дистрибутива.
build_date="21.01.2020"
 
// Номер сборки дистрибутива.
build_number="7212"

Где получить условно-стабильный дистрибутив и последний билд?

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

// для Windows
file:\\sbis-dev.corp.tensor.ru\programmers\СБиС_3\Тестирование\<название_дистрибутива_версия>\
 
// для Linux
smb://sbis-dev.corp.tensor.ru/programmers/СБиС_3/Тестирование/<название_дистрибутива_версия>/

В директории дистрибутива могут быть выделены версии билдов (сборок), а также совместимые платформы (nix, mac, windows, mobile и т.п.). Старший номер билда соответствует последнему собранному дистрибутиву.

Шаг 2: Развертывание веб-сервера и локального стенда

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

Развертывание может быть завершено с некритичными предупреждения (warnings). Это нормальная ситуация, её нужно проигнорировать.

Развертывание может быть завершено с ошибками, которые нужно устранить. Для этого обратитесь к инструкции.

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

  1. В браузере перейдите в облако, в котором выполняется развертывание локального стенда. О выборе такого облака сказано здесь.
  2. Авторизуйтесь:
    • для облаков test-online.sbis.ru и pre-test-online.sbis.ru под пользователем создатель_сотрудников/создатель_сотрудников123;
    • для dev-online.sbis.ru под пользователем Демо/Демо123.
  3. Дальнейшие действия написаны на примере пользователя Демо, который принадлежит клиенту "ООО "Мастер".
  4. Перейдите в раздел "Сотрудники". Проверьте, что в правом верхнем углу рядом указано подразделение "Вся наша компания". Если задано другое подразделение, то необходимо выбрать "Вся наша компания" из выпадающего списка.
  5. Нажмите кнопку "+":
  6. Заполните поля "Фамилия" и "Имя". Перейдите на вкладку "Права и подписи".
  7. Нажмите кнопку "Доступ в СБИС запрещен" и выберите "Разрешен полностью".
  8. Нажмите кнопку "Указать логин и пароль".
    Задайте логин и пароль для нового пользователя и нажмите на кнопку "Сохранить".
  9. Нажмите кнопку "Сохранить" в правом верхнем углу панели, чтобы сохранить настройки пользователя.
  10. Выйдите из системы и авторизуйтесь под созданным пользователем.

Как работает локальный стенд с подключением к серверным БД?

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

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

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

  1. В браузере на новой вкладке перейдите на Сервис управления облаком. Он доступен по следующим ссылкам:
  2. Авторизуйтесь через LDAP с использованием персональной учетной записи. Подробнее об этом читайте здесь.
  3. В меню выберите пункт "Оркестратор облака" → "Регистратор локальных стендов".
  4. Перейдите на вкладку "Мои стенды" и нажмите кнопку "Стенд +".
  5. В окне "Регистрация стендов" выберите следующие настройки:
    • В поле "Системное имя сервиса" введите online. Подходит для регистрации дистрибутивов online, inside или ext. Подробнее о том, что такое системное имя сервиса, читайте здесь.
    • В полях "Узел сервиса" введите:
      • Имя сервера. Оно же доменное имя компьютера, на котором происходит развертывание локального стенда. В настоящий момент поддерживается регистрация доменов corp.tensor.ru и region.tensor.ru.
      • Порт, который был задан при развертывании веб-сервера на Шаге 2.
    • В поле "Комментарий" введите пометку о том, для каких целей развертывается локальный стенд.
    • Радиокнопку "База данных" установите в значение "Облачная".
    • Установите флаг "Я хочу работать от имени облачного пользователя с логином".
    • В поле "Логин пользователя" введите логин пользователя в серверной БД. Он был создан на Шаге 3.
    • Радиокнопку "Сервис представления" установите в значение "Локальный".
  6. В браузере переключитесь на вкладку с Genie и запустите веб-сервер. Отследить запуск веб-сервера можно по его логами, которые доступны во вкладке "Other".
  7. В браузере переключитесь на вкладку с сервисом "Регистратор локальных стендов". Нажмите кнопку "Далее".
    Дождитесь окончания регистрации стенда. В случае успеха Вы должны увидеть следующее сообщение:
  8. В браузере переключитесь на вкладку Genie. Перезапустите веб-сервер с локальным стендом.
  9. Убедитесь, что сервис запущен. Для этого откройте стартовую веб-страницу локального стенда, например так. Если это происходит, пусть даже с ошибками, то сервис работает исправно.
  10. В браузере переключитесь на вкладку с облаком. Сейчас вы попадаете на статику и бизнес-логику локального стенда, которые работают с серверной БД.

После успешной регистрации и запуска стенда не пытайтесь попасть на localhost:<port_number>, стенд таким образом не откроется как задумывалось.
Перейдите на страницу аутентификации <cloud->online.sbis.ru/auth/ и введите логин и пароль от пользователя, которые указывались при регистрации.

Не следует пытаться открыть ссылку, указанную на изображении:

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

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

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

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

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