You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 53 Next »

Актуальная версия ExeMES - 2.0 (релиз от февраля 2025 г.)

Для обновления на версию ExeMES 2.0 необходимо выполнить последовательно следующие шаги:

Процесс обновления БД MESDB до версии 2.0 возможен, начиная с версии 1.3. Для обновления до версии 1.3 см. пункт Обновление на версию 1.3.

Перед обновлением выполните процедуру резервного копирования БД MESDB.

Проверка актуальности версии БД MESDB и обновление версии производится из интерфейса ExeMES Client. Для проверки и обновления БД MESDB выполните следующие шаги:

  1. Пройдите стандартную процедуру авторизации в ExeMES Client
  2. Проверьте актуальность версии БД MESDB:
    1. Воспользуйтесь всплывающим меню, которое вызывается по нажатию на иконку пользователя в статусной строке ExeMES Client 
    2. Во всплывающем меню выберите пункт «Версия №», после чего откроется страница проверки и обновления версии базы данных MES. Для проверки актуальности версии БД нажмите на кнопку «Проверить актуальность БД». Результаты проверки отобразятся на странице ниже
    3. В случае актуальной версии БД MESDB сообщение будет следующим:
    4. В случае необходимости обновления версии БД MESDB появится сообщение о необходимости обновления и информация об изменениях, которые будут внесены в БД MESDB.
  3. Обновите версию БД MESDB если она неактуальна
    1. Для обновления нажмите на кнопку «Обновить версию БД».
    2. Подтвердите обновление версии БД MESDB, нажав на кнопку «Ок», во всплывающем окне
    3. После завершения обновления появится сообщение об успешном обновлении и лог процесса обновления


Для возможности работы с новыми приложениями ExeMES RuntimeClient и ExeSched необходимо импортировать конфигурацию новых клиентов в существующий реалм Keycloak. Для этого выполните следующие шаги:

  1. Зайдите в приложение Keycloak под администратором реалма и выберите в выпадающем списке реалм «exemes»
  2. В левом боковом меню выберите пункт «Clients»
  3. В центральной части экрана нажмите на кнопку «Import Client»
  4. Ниже в центральной части экрана нажмите «Browse...»
  5. Выберите файл exemesruntime-client.json из папки upd, которая находится в составе дистрибутива exemes 2.0 и нажмите кнопку «Открыть»
  6. После завершения загрузки файла, переместитесь в конец страницы и нажмите кнопку «Save»
  7. Аналогичные действия необходимо произвести со вторым файлом в папке upd: exesched.json
  8. После завершения импорта конфигурации убедитесь что новая конфигурация появилась в списке клиентов

Для корректной работы новых приложений ExeMES RuntimeClient и ExeSched необходимо создать и настроить роли в импортированных клиентах:

  1. Выберите в списке клиентов «exemesruntime-client».
    1. В центральной части экрана перейдите на вкладку «Roles» и нажмите на кнопку «Create role»
    2. Ниже заполните поля Role name и Description, в завершении нажмите кнопку «Save»
    3. Таким образом, создайте 4 роли с описаниями:
      • Role name = Inventory, Description = Доступ к экрану управления складскими остатками;
      • Role name = Operator, Description = Доступ к панели оператора;
      • Role name = Quality, Description = Доступ к экрану управления качеством;
      • Role name = Utilization, Description = Доступ к экрану управления событиями оборудования.
  2. Вернитесь к списку клиентов и выберите «exesched»
    1. Для exesched создайте 1 роль:
      • Role name = Scheduler, Description = Планировщик.
  3. Назначьте новые роли соответствующим группам пользователей, в зависимости от Вашей конфигурации. Подробно об Управлении доступом к ExeMES.

Для корректной работы механизма разграничения прав доступа по объектам выполните следующие шаги:

  1. Добавьте новые роли соответствующим группам пользователей, в зависимости от Вашей конфигурации.
    1. Выберите в левом меню вкладку «Clients» далее выберите пункт «mesmiddleware»
    2. В центральной части экрана выберите вкладку «Roles» и нажмите кнопку «Create Role»
    3. В новом окне заполните поля Role name и Description. Таким образом для клиента mesmiddleware должно быть создано 2 роли:
      • Role name = VAccess, Description = View Access Management;
      • Role name = EAccess, Description = Edit Access Management.
    4.  Назначьте новые роли группам пользователей, в зависимости от конфигурации Вашей системы. Подробно об Управлении доступом к ExeMES.
  2. Добавьте существующие роли реалма группам пользователей, отвечающим за настройку доступа к объектам, если Вы планируете использовать механизм разграничения прав доступа по объектам.
    1. Добавьте роль view-users (существующая);
    2. Добавьте роль manage-authorization (существующая).
  3. Добавьте роль realm-management/view-clients для сервисного аккаунта клиента mesmiddleware.
    1. Перейдите в левом меню на вкладку «Clients»;
    2. Выберите пункт «mesmiddleware»;
    3. В центральной части экрана перейдите на вкладку «Service Account Roles» и нажмите на кнопку «Assign role»;
    4. В появившемся окне выберите фильтр «Filter by clients»;
    5. Введите в поле фильтра «view-clients»;
    6. Выберите роль «view-clients» и нажмите кнопку «Assign».

  1. Добавьте образы новых приложений в docker. Для этого находясь в папке /images/ дистрибутива ExeMES 2.0 выполните следующие команды:
    docker load -i ./exemesmiddleware2.0.tar
    docker load -i ./exemesclient2.0.tar
    docker load -i ./exeruntimeclient1.0.tar
    docker load -i ./exesched1.0.tar
  2. Укажите новый образ для ExeMES Server (Middleware): 
    image: "git.exeplant.ru:5050/mes-develop/exemesmiddleware:2.0"
  3. Сконфигурируйте новую переменную окружения для ExeMES Server (Middleware):
    EntityAccessProtection: "Enabled"

    Переменная EntityAccessProtection активирует функционал разделения прав доступа по объектам.

    Если Вы не планируете использовать этот функционал, можете не указывать эту переменную, либо сконфигурируйте её, указав:

    EntityAccessProtection: "Disabled"

    Подробнее о настройке переменных окружения.

  4. Укажите новый образ для ExeMES Client:
    image: "git.exeplant.ru:5050/mes-develop/exemesclient:2.0"
  1. Скопируйте папки data/exeruntimeclient и data/exesched в папку с установленным ПО ExeMES (по умолчанию root/dev/);
  2. Добавьте в файл docker-compose (по умолчанию root/dev/) конфигурацию приложения ExeMES RuntimeClient и ExeSched;
    Приложение ExeSched
    exesched:
        container_name: exesched
        image: "git.exeplant.ru:5050/mes-develop/exesched:1.0"
        restart: always
        environment:
          MiddlewareApiRootUri: "https://middleware.mycompany.local:7142/api"    
          TZ: "Europe/Moscow"
          ASPNETCORE_URLS: "https://+;http://+"
          ASPNETCORE_HTTPS_PORT: "8135"
          ASPNETCORE_Kestrel__Certificates__Default__Password: "1"
          ASPNETCORE_Kestrel__Certificates__Default__Path: "/root/.aspnet/https/EXESched.pfx"
          GCCSettings:BroadcastRemoteLicenses: "0"
          GCCSettings:UseRemoteHosts: "1"
          GCCSettings:Remotehosts: "[license_server_ip]"
          DBConnection: "Server=some-postgres; User Id=postgres; Database=exesched; Port=5432; Password=postgres; SSLMode=Prefer"
        ports:     
          - "8135:443"
        volumes:
          - type: bind
            source: /root/dev/data/exesched/keycloak.json
            target: /App/keycloak.json
          - type: bind
            source: /root/dev/data/exesched/appsettings.json
            target: /App/appsettings.json
          - type: bind
            source: /root/dev/crt/EXESched.pfx
            target: /root/.aspnet/https/EXESched.pfx
          - type: bind
            source: /root/dev/crt/wildcard.mycompany.local.crt
            target: /etc/ssl/certs/wildcard.mycompany.local.pem 
        extra_hosts:
          - "mes-runtime.mycompany.local client.mycompany.local middleware.mycompany.local exesched.mycompany.local keycloak.mycompany.local:[host_ip]"
    Приложение ExeMES RuntimeClient
      exeruntimeclient:
        container_name: exeruntimeclient
        image: "git.exeplant.ru:5050/mes-develop/exeruntimeclient:1.0"
        restart: always
        environment:
          MiddlewareApiRootUri: "http://exemesmiddleware/api"    
          TZ: "Europe/Moscow"
          ASPNETCORE_URLS: "https://+;http://+"
          ASPNETCORE_HTTPS_PORT: "8143"
          ASPNETCORE_Kestrel__Certificates__Default__Password: "1"
          ASPNETCORE_Kestrel__Certificates__Default__Path: "/root/.aspnet/https/EXEMESClient.pfx"
          GCCSettings:BroadcastRemoteLicenses: "0"
          GCCSettings:UseRemoteHosts: "1"
          GCCSettings:Remotehosts: "[license_server_ip]"
        ports:     
          - "8143:443"
        volumes:
          - type: bind
            source: /root/dev/data/exeruntimeclient/keycloak.json
            target: /app/keycloak.json
          - type: bind
            source: /root/dev/data/exeruntimeclient/appsettings.json
            target: /App/appsettings.json
          - type: bind
            source: /root/dev/crt/wildcard.mycompany.local.pfx
            target: /root/.aspnet/https/EXEMESClient.pfx
          - type: bind
            source: /root/dev/crt/wildcard.mycompany.local.crt
            target: /etc/ssl/certs/wildcard.mycompany.local.pem
        extra_hosts:
          - "mes-runtime.mycompany.local client.mycompany.local middleware.mycompany.local keycloak.mycompany.local:[host_ip]"

    Обратите внимание, что новые приложения используют уже существующие сертификаты, проверьте правильность указания пути к файлам сертификатов (используйте аналогию с ExeMES Server (Middleware)).

    Конфигурация использования сертификатов
          - type: bind
            source: /root/dev/crt/EXESched.pfx
            target: /root/.aspnet/https/EXESched.pfx
          - type: bind
            source: /root/dev/crt/wildcard.mycompany.local.crt
            target: /etc/ssl/certs/wildcard.mycompany.local.pem 

    Параметры [license_server_ip] и [host_ip] должны быть скорректированы под Вашу конфигурацию (используйте аналогию с конфигурацией Вашего приложения ExeMES Server (Middleware)).

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

  3. После завершения редактирования файла docker compose выполните перезапуск измененных и запуск добавленных контейнеров, выполнив команду:
    docker compose up -d

Процесс обновления БД MESDB до версии 1.3 возможен только с версии 1.2. Для обновления до версии 1.2 см. пункт Обновление на версию 1.2

Обновление БД производится из интерфейса ExeMES Client. Для корректной работы функционала обновления необходимо предварительно выполнить следующие действия:

Необходимо создать в существующем реалме Keycloak новые роли, для этого:

  1. Зайдите в приложение Keycloak под администратором реалма и выберите в выпадающем списке реалм «exemes»
  2. Выберите в левом боковом меню пункт «Clients»
  3. В центральной части экрана выберите клиент «mesmiddleware»
  4. Перейдите на вкладку Roles и нажмите кнопку «Create Role»
  5. Заполните поля в открывшемся окне:
    •  Role name = EAdm, Description = Edit (manage) Admin Tools.
  6. Нажмите кнопку «Save»
  7. Создайте еще одну роль по аналогии:
    • Role name = VAdm, Description = View Admin Tools.

Для корректной работы функционала обновления БД новые роли необходимо добавить группам пользователей в зависимости от Вашей конфигурации.

  1. Выберите нужную Вам группу и перейдите на вкладку «Role mapping» в центральной части экрана и нажмите на кнопку «Assign role»
  2. Во всплывающем окне выберите фильтр «Filter by clients», правее фильтра в строке поиске укажите имя роли VAdm и нажмите стрелку для поиска. Поставьте галку напротив группы VAdm и нажмите кнопку «Assign»
  3. Аналогично, для разрешения обновления версии БД MESDB группе пользователей добавьте роль EAdm.

Для корректной работы механизма обновления БД MESDB необходимо подключиться к БД MESDB любым клиентом СУБД, поддерживающим работу с Postgre версии 15.4 и выполнить следующий скрипт:

CREATE TABLE public."__EFMigrationsHistory" (
"MigrationId" varchar(150) NOT NULL,
"ProductVersion" varchar(32) NOT NULL,
CONSTRAINT "PK___EFMigrationsHistory" PRIMARY KEY ("MigrationId")
);

INSERT INTO public."__EFMigrationsHistory"
("MigrationId", "ProductVersion")
values
('20240312123332_MESDB_V0', '8.0.8'),
('20240708154420_MESDB_V1.2.0', '8.0.8');


Для обновления версий необходимо скорректировать файл docker-compose, указав:

  • для ExeMES Server (Middleware)
    image: "git.exeplant.ru:5050/mes-develop/exemesmiddleware:1.3.0"
  • для ExeMES Client
    image: "git.exeplant.ru:5050/mes-develop/exemesclient:1.3.0"

Указанные образы обновляемых приложений должны быть предварительно добавлены в docker. Образы приложений располагаются в дистрибутиве в папке images. Для добавления образов в docker используйте команду docker load -i [путь к файлу образа]

 Далее для обновления необходимо использовать функционал автоматического обновления БД MESDB.

Кроме обязательных действий по обновлению БД MESDB мы предлагаем обновить описания статусов производственных заданий. Это обновление носит рекомендательный характер и никак не влияет на функционал ExeMES.

Для обновления необходимо выполнить следующий скрипт в любом клиенте СУБД подключенном к MESDB

update job_state set state_desc = 'НОВОЕ' where state_cd = 1;
update job_state set state_desc = 'В РАБОТУ' where state_cd = 2;
update job_state set state_desc = 'ВЫПОЛНЯЕТСЯ' where state_cd = 3;
update job_state set state_desc = 'ЗАВЕРШЕНО' where state_cd = 4;
update job_state set state_desc = 'ПРИОСТАНОВЛЕНО' where state_cd = 5;
update job_state set state_desc = 'ЗАМОРОЖЕНО' where state_cd = 6;
update job_state set state_desc = 'ОТМЕНЕНО' where state_cd = 7;
update job_state set state_desc = 'ПРОПУЩЕНО' where state_cd = 8;
update job_state set state_desc = 'ЗАМЕНЕНО' where state_cd = 9;

Для обновления ПО ExeMES до версии 1.2 необходимо:

  1. Установить ПО Guardant (при обновлении с версии 1.0);

    Для корректной работы программных продуктов ExePlant требуется установить Guardant Control Center на один из компьютеров в сети, который будет выполнять функцию сервера лицензирования.

    Допускается использовать в качестве сервера лицензирования хост, на котором установлен Docker

    Дистрибутивы Guardant Control Center для различных ОС поставляются совместно с ПО ExePlant и находятся в инсталляционном пакете в папке gcc:

    Выберите любой подходящий для вашей ОС файл установщик и произведите установку ПО любым удобным способом доступным в вашей ОС.

    Примеры установки Guardant Control Center в ОС Ubuntu:

    Для установки Guardant Control Center в графическом режиме в ОС Ubuntu удобно использовать установочный файл grdcontrol*.deb (конкретный файл необходимо выбрать в зависимости от разрядности ОС). Файл необходимо открыть через Центр приложений и нажать на кнопку "Установить", после чего дождаться завершения установки.

    Для установки Guardant Control Center в консольном режиме в ОС Ubuntu удобно использовать установочный файл grdcontrol*.deb (конкретный файл необходимо выбрать в зависимости от разрядности ОС). В консоли необходимо перейти в каталог расположения установочного файла и выполнить команду:

    sudo apt install ./[имя_файла].deb

    После установки ПО Guardant Control Center необходимо активировать лицензию. Активация лицензий производится с использованием ПО Мастер лицензий Guardant (входит в состав Guardant SLK и не требует установки).

    Активация лицензии может производиться в двух режимах:

    Для запуска ПО Мастер лицензий Guardant в визуальном режиме необходимо запустить файл license_wizard из архива grdcontrol-3.29.tar.gz (соответствующий файл находится в папке x86 или x86_64 в зависимости от разрядности вашей ОС).

    Для активации лицензии необходимо нажать на кнопку "+ Активация лицензии", после чего ввести в форму Программный ключ лицензии и завершить процесс активации следуя инструкциям в Мастере лицензий Guardant.

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

    После успешной активации лицензии в Мастере лицензий Guardant отобразится информация об активированной лицензии.

    Для активации лицензии необходимо перейти в папку с файлом license_wizard из архива grdcontrol-3.29.tar.gz в режиме консоли (соответствующий файл находится в папке x86 или x86_64 в зависимости от разрядности вашей ОС).

    Далее необходимо предоставить права на файл Мастера лицензий Guardant, выполнив команду:

    chmod +x license_wizard

    Для активации лицензии необходимо выполнить команду:

    ./license_wizard --console --activate [Программный ключ лицензии] --host https://getlicense.guardant.ru

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

    Для проверки активации лицензии необходимо выполнить команду:

    ./license_wizard --console --list

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

    Детальная информация по работе с Мастером лицензий Guardant представлена на сайте производителя.


  2. Обновить БД MESDB;
    • Перед обновлением БД MESDB необходимо создать резервную копию БД. При обновлении версии БД MESDB существующая конфигурация производственной модели и накопленные производственные данные будут сохранены. Обновление БД MESDB затрагивает только схему public, в том числе будут обновлены функции и хранимые процедуры.

      Для обновления версии БД MESDB потребуется любой клиент СУБД, поддерживающий подключение к СУБД Postgres. В клиенте СУБД необходимо выполнить подключение к БД MESDB, параметры подключения можно получить из docker-compose файла, который использовался при запуске существующей версии ExeMES. Далее необходимо выполнить скрипты sql, который располагаются в папке db_updates в дистрибутиве ExeMES 1.2:
      • Для обновления с версии 1.0 до версии 1.1:
            1. UPD_from_V1.0.0_to_V1.0.1.sql
            2. UPD_from_V1.0.1_to_V1.0.2.sql
            3. UPD_from_V1.0.2_to_V1.0.3.sql
            4. UPD_from_V1.0.3_to_V1.0.4.sql
            5. UPD_from_V1.0.4_to_V1.0.5.sql
            6. UPD_from_V1.0.5_to_V1.1.0.sql
      • Для обновления с версии 1.1 до версии 1.2:
            1. V1.1.0_to_V1.2.0.sql
  3. Скорректировать путь для доступа контейнеров к существующему хранилищу СУБД Postgre;
    • По умолчанию при установке ExeMES для хранилища СУБД Postgre используется директория /root/dev/db/. Если при установке ExeMES было задано альтернативное размещение хранилища СУБД Postgre, то необходимо изменить путь подключения к нему. 

      Для этого перед развертыванием новых контейнеров ExeMES в Docker необходимо скорректировать файл docker-compose в части конфигурации контейнера Postgres, а именно добавить:

      volumes:
            - [путь к папке с существующим хранилищем БД Postgre]:/var/lib/postgresql/data/
  4. Удалить старые и запустить новые контейнеры ExeMES.
    • Для запуска контейнеров ExeMES версии 1.1, необходимо предварительно остановить и удалить существующие контейнеры ExeMES:
      • Postgres;
      • Keycloak;
      • Exemiddleware;
      • Exemesclient.

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

Если вы планируете изменить сертификаты безопасности не забудьте их сгенерировать и указать для использования приложениям как указано в инструкции

Затем необходимо установить новую версию ExeMES согласно инструкции ниже

Инструкция по установке ExeMES
Для установки и запуска ExeMES необходимо распаковать архив, содержащий ПО ExeMES (инсталляционный пакет) и предоставленный Вендором используя команду:
gunzip -c exemes.tar.gz | tar -xvf –

В результате у вас появится новый каталог exemes с необходимыми для запуска файлами.

Затем необходимо отредактировать файл docker-compose.yaml, расположенный в корневой папке каталога:

  • заменить по тексту файла параметр [host_ip] на ip адрес хоста, на котором инсталлирован Docker;
  • заменить по тексту файла параметр [license_server_ip] на ip адрес хоста, на котором установлен сервер лицензирования Guardant Control Center;
  • настроить необходимые переменные окружения;

Если вы разворачиваете ПО ExeMES в демонстрационных, тестовых или обучающих целях (не на продуктивной среде) и не планируете использовать другой домен для работы приложения, то вы можете пропустить следующие инструкции

  • скопировать в каталог /exemes/crt сгенерированные ранее сертификаты;
  • предоставить права на сгенерированные ранее файлы сертификатов, выполнив команду:
    chmod -R 777 /exemes/crt/
  • отредактировать файл docker-compose.yaml: заменить по тексту файла "mycompany.local" на имя домена, для которого сгенерированы сертификаты;
  • отредактировать файлы: /exemes/data/exemesmiddleware/keycloak.json, /exemes/data/exemesclient/keycloak.json, /exemes/data/exeruntimeclient/keycloak.json, /exemes/data/exesched/keycloak.json: заменить в ссылках "mycompany.local" на имя домена, для которого сгенерированы сертификаты. Пример:
    /exemes/data/exemesclient/keycloak.json
    {
      "realm": "exemes",
      "auth-server-url": "https://keycloak.[домен]:5787/",
      "ssl-required": "external",
      "resource": "mes-client",
      "verify-token-audience": false,
      "credentials": {
        "secret": "SFY1TvAoSgrHQooduT9OstvHsKdwufKo"
      },
      "use-resource-role-mappings": true,
      "confidential-port": 0,
      "policy-enforcer": {},
      "Logout": "https://client.[домен]:8142/"
    }

Далее необходимо открыть терминал ОС с root доступом, перейти в каталог, появившийся после распаковки архива, и выполнить команду:

bash install-exemes.sh

при этом произойдет загрузка образов, копирование данных и запуск сервисов.

При выполнении указанного выше скрипта производится установка Portainer - средства для мониторинга работы контейнеризированных приложений. Если вам не требуется установка Portainer удалите из файла install_exemes.sh следующий код:

docker volume create portainer_data
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:2.20.2
systemctl restart docker

Если файл не запускается, измените права на этот файл командой:

chmod g+x install_exemes.sh

После завершения выполнения скрипта будут запущены контейнеры приложений ExeMES, что будет подтверждено соответствующим сообщением в терминале.

Для обновления ПО ExeMES до версии 1.1 необходимо:

  1. Установить ПО Guardant;

    Для корректной работы программных продуктов ExePlant требуется установить Guardant Control Center на один из компьютеров в сети, который будет выполнять функцию сервера лицензирования.

    Допускается использовать в качестве сервера лицензирования хост, на котором установлен Docker

    Дистрибутивы Guardant Control Center для различных ОС поставляются совместно с ПО ExePlant и находятся в инсталляционном пакете в папке gcc:

    Выберите любой подходящий для вашей ОС файл установщик и произведите установку ПО любым удобным способом доступным в вашей ОС.

    Примеры установки Guardant Control Center в ОС Ubuntu:

    Для установки Guardant Control Center в графическом режиме в ОС Ubuntu удобно использовать установочный файл grdcontrol*.deb (конкретный файл необходимо выбрать в зависимости от разрядности ОС). Файл необходимо открыть через Центр приложений и нажать на кнопку "Установить", после чего дождаться завершения установки.

    Для установки Guardant Control Center в консольном режиме в ОС Ubuntu удобно использовать установочный файл grdcontrol*.deb (конкретный файл необходимо выбрать в зависимости от разрядности ОС). В консоли необходимо перейти в каталог расположения установочного файла и выполнить команду:

    sudo apt install ./[имя_файла].deb

    После установки ПО Guardant Control Center необходимо активировать лицензию. Активация лицензий производится с использованием ПО Мастер лицензий Guardant (входит в состав Guardant SLK и не требует установки).

    Активация лицензии может производиться в двух режимах:

    Для запуска ПО Мастер лицензий Guardant в визуальном режиме необходимо запустить файл license_wizard из архива grdcontrol-3.29.tar.gz (соответствующий файл находится в папке x86 или x86_64 в зависимости от разрядности вашей ОС).

    Для активации лицензии необходимо нажать на кнопку "+ Активация лицензии", после чего ввести в форму Программный ключ лицензии и завершить процесс активации следуя инструкциям в Мастере лицензий Guardant.

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

    После успешной активации лицензии в Мастере лицензий Guardant отобразится информация об активированной лицензии.

    Для активации лицензии необходимо перейти в папку с файлом license_wizard из архива grdcontrol-3.29.tar.gz в режиме консоли (соответствующий файл находится в папке x86 или x86_64 в зависимости от разрядности вашей ОС).

    Далее необходимо предоставить права на файл Мастера лицензий Guardant, выполнив команду:

    chmod +x license_wizard

    Для активации лицензии необходимо выполнить команду:

    ./license_wizard --console --activate [Программный ключ лицензии] --host https://getlicense.guardant.ru

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

    Для проверки активации лицензии необходимо выполнить команду:

    ./license_wizard --console --list

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

    Детальная информация по работе с Мастером лицензий Guardant представлена на сайте производителя.


  2. Обновить БД MESDB;
    • Перед обновлением БД MESDB необходимо создать резервную копию БД. При обновлении версии БД MESDB существующая конфигурация производственной модели и накопленные производственные данные будут сохранены. Обновление БД MESDB затрагивает только схему public, в том числе будут обновлены функции и хранимые процедуры.

      Для обновления версии БД MESDB потребуется любой клиент СУБД, поддерживающий подключение к СУБД Postgres. В клиенте СУБД необходимо выполнить подключение к БД MESDB, параметры подключения можно получить из docker-compose файла, который использовался при запуске существующей версии ExeMES. Далее необходимо выполнить скрипты sql, который располагаются в папке db_updates в дистрибутиве ExeMES 1.1:
          1. UPD_from_V1.0.0_to_V1.0.1.sql
          2. UPD_from_V1.0.1_to_V1.0.2.sql
          3. UPD_from_V1.0.2_to_V1.0.3.sql
          4. UPD_from_V1.0.3_to_V1.0.4.sql
          5. UPD_from_V1.0.4_to_V1.0.5.sql
          6. UPD_from_V1.0.5_to_V1.1.0.sql
  3. Скорректировать путь для доступа контейнеров к существующему хранилищу СУБД Postgre;
    • По умолчанию при установке ExeMES для хранилища СУБД Postgre используется директория /root/dev/db/. Если при установке ExeMES было задано альтернативное размещение хранилища СУБД Postgre, то необходимо изменить путь подключения к нему. 

      Для этого перед развертыванием новых контейнеров ExeMES в Docker необходимо скорректировать файл docker-compose в части конфигурации контейнера Postgres, а именно добавить:

      volumes:
            - [путь к папке с существующим хранилищем БД Postgre]:/var/lib/postgresql/data/
  4. Удалить старые и запустить новые контейнеры ExeMES.
    • Для запуска контейнеров ExeMES версии 1.1, необходимо предварительно остановить и удалить существующие контейнеры ExeMES:
      • Postgres;
      • Keycloak;
      • Exemiddleware;
      • Exemesclient.

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

Если вы планируете изменить сертификаты безопасности не забудьте их сгенерировать и указать для использования приложениям как указано в инструкции

Затем необходимо установить новую версию ExeMES согласно инструкции ниже

Инструкция по установке ExeMES
Для установки и запуска ExeMES необходимо распаковать архив, содержащий ПО ExeMES (инсталляционный пакет) и предоставленный Вендором используя команду:
gunzip -c exemes.tar.gz | tar -xvf –

В результате у вас появится новый каталог exemes с необходимыми для запуска файлами.

Затем необходимо отредактировать файл docker-compose.yaml, расположенный в корневой папке каталога:

  • заменить по тексту файла параметр [host_ip] на ip адрес хоста, на котором инсталлирован Docker;
  • заменить по тексту файла параметр [license_server_ip] на ip адрес хоста, на котором установлен сервер лицензирования Guardant Control Center;
  • настроить необходимые переменные окружения;

Если вы разворачиваете ПО ExeMES в демонстрационных, тестовых или обучающих целях (не на продуктивной среде) и не планируете использовать другой домен для работы приложения, то вы можете пропустить следующие инструкции

  • скопировать в каталог /exemes/crt сгенерированные ранее сертификаты;
  • предоставить права на сгенерированные ранее файлы сертификатов, выполнив команду:
    chmod -R 777 /exemes/crt/
  • отредактировать файл docker-compose.yaml: заменить по тексту файла "mycompany.local" на имя домена, для которого сгенерированы сертификаты;
  • отредактировать файлы: /exemes/data/exemesmiddleware/keycloak.json, /exemes/data/exemesclient/keycloak.json, /exemes/data/exeruntimeclient/keycloak.json, /exemes/data/exesched/keycloak.json: заменить в ссылках "mycompany.local" на имя домена, для которого сгенерированы сертификаты. Пример:
    /exemes/data/exemesclient/keycloak.json
    {
      "realm": "exemes",
      "auth-server-url": "https://keycloak.[домен]:5787/",
      "ssl-required": "external",
      "resource": "mes-client",
      "verify-token-audience": false,
      "credentials": {
        "secret": "SFY1TvAoSgrHQooduT9OstvHsKdwufKo"
      },
      "use-resource-role-mappings": true,
      "confidential-port": 0,
      "policy-enforcer": {},
      "Logout": "https://client.[домен]:8142/"
    }

Далее необходимо открыть терминал ОС с root доступом, перейти в каталог, появившийся после распаковки архива, и выполнить команду:

bash install-exemes.sh

при этом произойдет загрузка образов, копирование данных и запуск сервисов.

При выполнении указанного выше скрипта производится установка Portainer - средства для мониторинга работы контейнеризированных приложений. Если вам не требуется установка Portainer удалите из файла install_exemes.sh следующий код:

docker volume create portainer_data
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:2.20.2
systemctl restart docker

Если файл не запускается, измените права на этот файл командой:

chmod g+x install_exemes.sh

После завершения выполнения скрипта будут запущены контейнеры приложений ExeMES, что будет подтверждено соответствующим сообщением в терминале.



  • No labels