Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Expand
titleОбновление на версию 2.0

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

Expand
titleОбновить версию БД
Warning

Процесс обновления БД 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. Для обновления БД MESDB нажмите на кнопку «Обновить версию БД» на странице с результатами проверки актуальности БД, после чего подтвердите действие во всплывающем окне
    2. После завершения обновления БД появится сообщение об успешном обновлении и лог процесса обновления
    3. Если в процессе обновления БД возникнет ошибка, обратитесь в в службу ТП ExeMES


Expand
titleМодифицировать существующий реалм Keycloak

Для возможности работы с новыми приложениями 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».

Expand
titleОбновить версии приложений ExeMES Server (Middleware) и ExeMES Client
  1. Добавьте образы новых приложений в docker. Для этого находясь в папке /images/ дистрибутива ExeMES 2.0 выполните следующие команды:
    Code Block
    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): 
    Code Block
    image: "git.exeplant.ru:5050/mes-develop/exemesmiddleware:2.0"
  3. Сконфигурируйте новую переменную окружения для ExeMES Server (Middleware):
    Code Block
    EntityAccessProtection: "Enabled"
    Info

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

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

    Code Block
    EntityAccessProtection: "Disabled"

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

  4. Укажите новый образ для ExeMES Client:
    Code Block
    image: "git.exeplant.ru:5050/mes-develop/exemesclient:2.0"
Expand
titleДобавить конфигурацию запуска приложений ExeMES RuntimeClient и ExeSched
  1. Скопируйте папки data/exeruntimeclient и data/exesched в папку с установленным ПО ExeMES (по умолчанию root/dev/);
  2. Добавьте в файл docker-compose (по умолчанию root/dev/) конфигурацию приложения ExeMES RuntimeClient и ExeSched;
    Code Block
    titleПриложение 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]"
    Code Block
    titleПриложение 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]"
    Tip

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

    Code Block
    titleКонфигурация использования сертификатов
          - 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 
    Tip

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

    Tip

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

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

...