Versions Compared

Key

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

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

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

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

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

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

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

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

Include Page
Обновление базы данных MESDB
Обновление базы данных MESDB

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

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

  1. Добавьте новые роли для Midlleware:
    1. Зайдите в приложение Keycloak под администратором реалма и выберите в выпадающем списке реалм «exemes»Image Added
    2. В левом боковом меню выберите пункт «Clients»Image Added
    3. В центральной части экрана выберите клиент «mesmiddleware»Image Added
    4. Перейдите на вкладку Roles и нажмите кнопку «Create Role»Image Added
    5. Заполните поля в открывшемся окне:
      • Role name = EPO, Description = May Edit Purchase Orders.
    6. Нажмите кнопку «Save»Image Added
    7. Создайте еще одну роль по аналогии:
      • Role name = VPO, Description = May View Purchase Orders.
  2. Добавьте новую роль для ExeShed:
    1. Вернитесь к списку клиентов и выберите «exesched»Image Added
    2. Перейдите на вкладку Roles и нажмите кнопку «Create Role»Image Added
    3. Заполните поля в открывшемся окне:
      • Role name = Admin, Description = Администратор приложения ExeSched.
    4. Нажмите кнопку «Save»Image Added
  3. Назначьте новые роли соответствующим группам пользователей, в зависимости от Вашей конфигурации. Подробно об Управлении доступом к ExeMES
Expand
titleОбновить версии приложений ExeMES Server (Middleware), ExeMES Client, ExeMES RuntimeClirent и ExeSched
  1. Добавьте образы новых приложений в docker. Для этого находясь в папке /images/ дистрибутива ExeMES 2.1 выполните следующие команды:
    Code Block
    docker load -i ./exemesmiddleware2.1.tar
    docker load -i ./exemesclient2.1.tar
    docker load -i ./exeruntimeclient2.1.tar
    docker load -i ./exesched2.1.tar
  2. Укажите новый образ для ExeMES Server (Middleware): 
    Code Block
    image: "git.exeplant.ru:5050/mes-develop/exemesmiddleware:2.1"
  3. Укажите новый образ для ExeMES Client:
    Code Block
    image: "git.exeplant.ru:5050/mes-develop/exemesclient:2.1"
  4. Укажите новый образ для ExeMES RuntimeClient:
    Code Block
    image: "git.exeplant.ru:5050/mes-develop/exeruntimeclient:2.1"
  5. Укажите новый образ для ExeSched:
    Code Block
    image: "git.exeplant.ru:5050/mes-develop/exesched:2.1"
Expand
titleОбновление на версию 2.0

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

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

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

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

Include Page
Обновление базы данных MESDB
Обновление базы данных

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

    MESDB

    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

    ...