Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Восстановить из v. 72
Warning

Актуальная версия ExeMES - 2.

...

3 (релиз от

...

июля 2025 г.)

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

...

3

Для обновления на версию ExeMES 2.

...

3 необходимо выполнить последовательно следующие шаги:

Expand
titleОбновить

...

Warning

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

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

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

Image Removed

Обновление версии БД MESDB успешно завершено.

...

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

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

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

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

  1. Выберите в списке клиентов exemesruntime-client.
    1. В центральной части экрана перейдите на вкладку Roles и нажмите на кнопку Create roleImage Removed
    2. Ниже заполните поля Role name и Description, в завершении нажмите кнопку SaveImage Removed
    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.
  4. Добавьте новые роли для возможности настройки механизма разграничения прав доступа по объектам.
    1. Выберите в левом меню вкладку Clients далее выберите пункт mesmiddleware, Image Removed
    2. В центральной части экрана выберите вкладку Roles и нажмите кнопку Create RoleImage Removed
    3. В новом окне заполните поля Role name и Description. Таким образом для клиента mesmiddleware должно быть создано 2 роли:
      • Role name = VAccess,  Description = View Access Management;
      • Role name = EAccess,  Description = Edit Access Management.
    4.  Назначьте новые роли группам пользователей, в зависимости от конфигурации Вашей системы. Подробно об Управлении доступом к ExeMES.
  5. Добавьте существующие роли реалма для корректной работы механизма разграничения доступа к объектам.
    1. Добавьте роль view-users (существующая); Image Removed
    2. Добавьте роль manage-authorization (существующая).Image Removed
  6. Добавьте роль 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.

Image Removed

Модификация реалма завершена.

Expand
titleОбновить версии приложений Middleware и MesClient
  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. Укажите новый образ для Middleware: 
    • Code Block
      image: "git.exeplant.ru:5050/mes-develop/exemesmiddleware:2.0"
  3. Сконфигурируйте новую переменную окружения для Middleware:
  4. Укажите новый образ для MESClient:
    • Code Block
      image: "git.exeplant.ru:5050/mes-develop/exemesclient:2.0"

...

titleДобавить конфигурацию запуска приложений EXERuntimeClient и EXESched

...

titleПриложение ExeSched

...

версии приложений ExeMES Server (Middleware), ExeMES Client, ExeMES RuntimeClirent и ExeSched
  1. Добавьте образы новых приложений в docker. Для этого находясь в папке /images/ дистрибутива ExeMES 2.2 выполните следующие команды:
    Code Block
    docker load -i ./exemesmiddleware2.3.tar
    docker load -i ./exemesclient2.3.tar
    docker load -i ./exeruntimeclient2.3.tar
    docker load -i ./exesched2.3.tar
  2. Укажите новый образ для ExeMES Server (Middleware): 
    Code Block
    image: "git.exeplant.ru:5050/mes-develop/exemesmiddleware:2.3"
  3. Укажите новый образ для ExeMES Client:
    Code Block
    image: "git.exeplant.ru:5050/mes-develop/exemesclient:2.3"
  4. Укажите новый образ для ExeMES RuntimeClient:
    Code Block
    image: "git.exeplant.ru:5050/mes-develop/exeruntimeclient:2.3"
  5. Укажите новый образ для ExeSched:
    Code Block
    image: "git.exeplant.ru:5050/mes-develop/exesched:2.3"
Expand
titleОбновить версию БД MESDB
Warning

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

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

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

Warning

Если вы не обновите версию БД сразу после обновления версии приложений ExeMES, то при открытии любой страницы ExeMES Client будет появляться предупреждение:

Image Added

Warning

Если вы обновляетесь с версии младше 2.1 перед началом обновления модифицируйте существующий realm Keycloak, как это указано в инструкции для обновления на версию 2.1

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

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

Expand
titleОбновить версии приложений ExeMES Server (Middleware), ExeMES Client, ExeMES RuntimeClirent и ExeSched
  1. Добавьте образы новых приложений в docker. Для этого находясь в папке /images/ дистрибутива ExeMES 2.2 выполните следующие команды:
    Code Block
    docker load -i ./exemesmiddleware2.2.tar
    docker load -i ./exemesclient2.2.tar
    docker load -i ./exeruntimeclient2.2.tar
    docker load -i ./exesched2.2.tar
  2. Укажите новый образ для ExeMES Server (Middleware): 
    Code Block
    image: "git.exeplant.ru:5050/mes-develop/exemesmiddleware:2.2"
  3. Укажите новый образ для ExeMES Client:
    Code Block
    image: "git.exeplant.ru:5050/mes-develop/exemesclient:2.2"
  4. Укажите новый образ для ExeMES RuntimeClient:
    Code Block
    image: "git.exeplant.ru:5050/mes-develop/exeruntimeclient:2.2"
  5. Укажите новый образ для ExeSched:
    Code Block
    image: "git.exeplant.ru:5050/mes-develop/exesched:2.2"
Expand
titleОбновить версию БД MESDB
Warning

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

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

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

Warning

Если вы обновляетесь с версии младше 2.1 перед началом обновления модифицируйте существующий realm Keycloak, как это указано в инструкции для обновления на версию 2.1

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

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

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/

...

  1. exemesmiddleware:2.1

...

  1. "
  2. Укажите новый образ для ExeMES Client:
    Code Block
    image: "git.exeplant.ru:5050/mes-develop/exemesclient:2.1"
  3. Укажите новый образ для ExeMES RuntimeClient:
    Code Block
    image: "git.exeplant.ru:5050/mes-develop/exeruntimeclient:2.1"
  4. Укажите новый образ для ExeSched:
    Code Block
    image: "git.exeplant.ru:5050/mes-develop/exesched:2.1"
Expand
titleОбновить версию БД MESDB
Warning

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

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

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

Warning

Если вы обновляетесь с версии младше 2.0 перед началом обновления модифицируйте существующий realm Keycloak и добавьте конфигурацию запуска приложений ExeMES RuntimeClient и ExeSched, как это указано в инструкции для обновления на версию 2.0

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

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

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

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

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

Image Added

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

  1. Выберите в списке клиентов «exemesruntime-client».
    1. В центральной части экрана перейдите на вкладку «Roles» и нажмите на кнопку «Create role»Image Added
    2. Ниже заполните поля Role name и Description, в завершении нажмите кнопку «Save»Image Added
    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»Image Added
    2. В центральной части экрана выберите вкладку «Roles» и нажмите кнопку «Create Role»Image Added
    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 (существующая); Image Added
    2. Добавьте роль manage-authorization (существующая).Image Added
  3. Добавьте роль realm-management/view-clients для сервисного аккаунта клиента mesmiddleware.
    1. Перейдите в левом меню на вкладку «Clients»;
    2. Выберите пункт «mesmiddleware»;
    3. В центральной части экрана перейдите на вкладку «Service Account Roles» и нажмите на кнопку «Assign role»;Image Added
    4. В появившемся окне выберите фильтр «Filter by clients»;
    5. Введите в поле фильтра «view-clients»;
    6. Выберите роль «view-clients» и нажмите кнопку «Assign».

Image Added

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:
          
Code Block
titleПриложение ExeRuntimeClient
  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]"

...

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

...

titleКонфигурация использования сертификатов

...

  1. - type: bind
            source: /root/dev/

...

  1. data/exesched/

...

  1. keycloak.

...

  1. json
            target: /

...

  1. App/

...

  1. keycloak.json
          - type: bind
            source: /root/dev/

...

  1. data/exesched/

...

  1. appsettings.json
            target: /

...

Tip

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

Tip

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

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

...

  • Code Block
    docker compose up -d
  1. 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 указаны в конфигурации приложений по умолчанию. Для альтернативной БД сконфигурируйте соответствующие переменные окружения.

  2. После завершения редактирования файла docker compose выполните перезапуск измененных и запуск добавленных контейнеров, выполнив команду:
    Code Block
    docker compose up -d
Expand
titleОбновить версию БД MESDB
Warning

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

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

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

Warning

Если вы обновляетесь с версии младше 1.3 перед началом обновления модифицируйте существующий realm Keycloak и подготовьте БД MESDB к обновлению, как это указано в инструкции для обновления на версию 1.3

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

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

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

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

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

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

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

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

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

Code Block
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');


Expand
titleОбновить версии приложений ExeMES Server (Middleware) и ExeMES Client

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

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

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

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

Expand
titleОпциональное обновление

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

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

Code Block
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;

...

titleОбновление на версию 1.3
Warning

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

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

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

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

Нужно зайти в приложение Keycloak под администратором реалма и выбрать в выпадающем списке реалм exemes

Image Removed

Далее в левом боковом меню выбрать пункт Clients

Image Removed

В центральной части экрана выбрать клиент Middleware

Image Removed

Далее необходимо перейти на вкладку Roles и нажать кнопку Create Role

Image Removed

В открывшемся окне в поле Role Name необходимо ввести название новой роли EAdm в поле Description нужно ввести Edit (manage) Admin Tools

Image Removed

После заполнения полей необходимо нажать кнопку Save.

Аналогично роли EAdm необходимо добавить еще одну роль с именем VAdm и описанием View Admin Tools.

После заполнения полей необходимо нажать кнопку Save.

Для назначения новых ролей определенной группе пользователей необходимо переключиться в левом меню на пункт Groups, затем необходимо выбрать группу пользователей, которой будут доступна роль разрешающая просмотр информации о версии БД MESDB (VAdm) и роль разрешающая производить обновление версии БД MESDB (EAdm). В примере ниже роль VAdm будет добавлена группе EXEMES_Admins. После выбора группы пользователей необходимо перейти на вкладку Role mapping в центральной части экрана и нажать на кнопку Assign role

Image Removed

Во всплывающем окне необходимо выбрать фильтр Filter by clients, правее фильтра в строке поиске указать имя роли VAdm и нажать стрелку для поиска. После необходимо поставить галку напротив группы VAdm и нажать кнопку Assign

Image Removed 

Теперь все пользователи группы EXEMES_Admins будут иметь возможность проверять актуальность версии БД MESDB.

Аналогично для разрешения обновления версии БД MESDB группе пользователей необходимо назначить роль EAdm.

...

titleПодготовить БД MESDB версии 1.2 к обновлению

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

Code Block
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');
Expand
titleОбновить версии приложений Middleware и MESClient

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

для Middleware

image: "git.exeplant.ru:5050/mes-develop/exemesmiddleware:1.3.0"

для MESClient

image: "git.exeplant.ru:5050/mes-develop/exemesclient:1.3.0"

Note

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

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

Expand
titleОпциональное обновление

Кроме обязательных действий по обновлению БД 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;

...

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

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

...

titleИнструкция

...

Warning

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

Для обновления версии БД MESDB потребуется любой клиент СУБД, поддерживающий подключение к СУБД Postgres. В клиенте СУБД необходимо выполнить подключение к БД MESDB, параметры подключения можно получить из docker-compose файла, который использовался при запуске существующей версии ExeMES. Далее необходимо выполнить скрипты sql, который располагаются в папке db_updates в дистрибутиве ExeMES 1.2:

  1. Для обновления с версии 1.0:
    1. 0.0_to_V1.0.1.sql
    2. 0.1_to_V1.0.2.sql
    3. 0.2_to_V1.0.3.sql
    4. 0.3_to_V1.0.4.sql
    5. 0.4_to_V1.0.5.sql
    6. 0.5_to_V1.1.0.sql
  2. Для обновления с версии 1.1
    1. 1.0_to_V1.2.0.sql

По умолчанию при установке ExeMES для хранилища СУБД Postgre используется директория /root/dev/db/. Если при установке ExeMES было задано альтернативное размещение хранилища СУБД Postgre, то необходимо изменить путь подключения к нему. 

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

volumes:

      - [путь к папке с существующему хранилищу СУБД Postgre]:/var/lib/postgresql/data/

Для запуска контейнеров ExeMES версии 1.2, необходимо предварительно остановить и удалить существующие контейнеры ExeMES

  • Postgres;
  • Keycloak;
  • Exemiddleware;
  • Exemesclient.
Tip

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

Tip

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

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

...

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

...

2

Для обновления ПО ExeMES до версии 1.

...

2 необходимо:

...

  1. Установить ПО Guardant (при обновлении с версии 1.0);
    Expand
    titleИнструкция

    Include Page
    Установка Guardant Control Center и Guardant SLK
    Установка Guardant Control Center и Guardant SLK

...

  1. Обновить БД MESDB

...

  1. ;

...

    • Warning

      Перед обновлением БД 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

...

            1. .0.5_to_V1.1.0.sql
      • Для обновления с версии 1.1 до версии 1.2:
            1. V1.1.0

...

            1. _to_V1.

...

            1. 2.0.sql
  1. Скорректировать путь для доступа контейнеров к существующему хранилищу СУБД Postgre;
    • По умолчанию при установке ExeMES для хранилища СУБД Postgre используется директория /root/dev/db/. Если при установке ExeMES было задано альтернативное размещение хранилища СУБД Postgre, то необходимо изменить путь подключения к нему. 

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

      Code Block
      volumes:

...

    • 
            - [путь к папке

...

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

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

Tip

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

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

Excerpt Include
Инструкция по установке ExeMES
Инструкция по установке ExeMES
nopaneltrue