| Warning |
|---|
Актуальная версия ExeMES - 2. |
...
...
| Expand |
|---|
| title | Обновление на версию 2.4 |
|---|
|
| Warning |
|---|
Если вы обновляетесь с версии младше 2.1 перед началом обновления модифицируйте существующий realm Keycloak, как это указано в инструкции для обновления на версию 2. |
|
...
Для обновления на версию ExeMES 2. |
...
4 необходимо выполнить последовательно следующие шаги: |
...
| Warning |
|---|
Процесс обновления БД MESDB до версии 2.0 возможен, начиная с версии 1.3. Для обновления до версии 1.3 см. пункт Обновление на версию 1.3. Перед обновлением выполните процедуру резервного копирования БД MESDB. |
ExeMES Client
- Пройдите стандартную процедуру авторизации в ExeMES Client
- Проверьте актуальность версии БД MESDB:
- Воспользуйтесь всплывающим меню, которое вызывается по нажатию на иконку пользователя в статусной строке ExeMES Client
Image RemovedКнопка перехода на страницу обновления - Во всплывающем меню выберите пункт «Версия №», после чего откроется страница проверки и обновления версии базы данных MES. Для проверки актуальности версии БД нажмите на кнопку «Проверить актуальность БД». Результаты проверки отобразятся на странице ниже
Image RemovedСтраница проверки и обновления базы данных MES - В случае актуальной версии БД MESDB сообщение будет следующим:
Image RemovedВерсия БД актуальна - В случае необходимости обновления версии БД MESDB появится сообщение о необходимости обновления и информация об изменениях, которые будут внесены в БД MESDB.
Image RemovedНеобходимо обновление
- Обновите БД MESDB.
- Для обновления нажмите на кнопку «Обновить версию БД» показанную на предыдущем скрине.
Image RemovedОбновление БД MESDB - Подтвердите обновление БД MESDB, нажав на кнопку «Ок», во всплывающем окне
Image RemovedПодтверждение обновления версии БД - После завершения обновления появится соответствущее сообщение и лог обновления
Image RemovedСообщение об успешном обновлении и лог процесса обновления
| Expand |
|---|
| title | Обновить версии приложений ExeMES Server (Middleware), ExeMES Client, ExeMES RuntimeClirent и ExeSched |
|---|
| - Добавьте образы новых приложений в docker. Для этого находясь в папке /images/ дистрибутива ExeMES 2.4 выполните следующие команды:
| Code Block |
|---|
| docker load -i ./exemesmiddleware2.4.tar
docker load -i ./exemesclient2.4.tar
docker load -i ./exeruntimeclient2.4.tar
docker load -i ./exesched2.4.tar |
- Укажите новый образ для ExeMES Server (Middleware):
| Code Block |
|---|
| image: "git.exeplant.ru:5050/mes-develop/exemesmiddleware:2.4" |
- Укажите новый образ для ExeMES Client:
| Code Block |
|---|
| image: "git.exeplant.ru:5050/mes-develop/exemesclient:2.4" |
- Укажите новый образ для ExeMES RuntimeClient:
| Code Block |
|---|
| image: "git.exeplant.ru:5050/mes-develop/exeruntimeclient:2.4" |
- Укажите новый образ для ExeSched:
| Code Block |
|---|
| image: "git.exeplant.ru:5050/mes-develop/exesched:2.4" |
|
| Expand |
|---|
| title | Добавить конфигурацию запуска приложений ExeMedia Service и БД MinIO |
|---|
| - Скопируйте папку data/exemediaservice в папку с установленным ПО ExeMES (по умолчанию root/dev/);
- Создайте папку minio в папке с установленным ПО ExeMES (по умолчанию root/dev/);
- Предоставьте права на папку minio следующей командой:
| Code Block |
|---|
| chmod -R 777 ./minio |
- Добавьте в файл docker-compose (по умолчанию root/dev/) конфигурацию приложения ExeMedia Service и MinIO;
| Code Block |
|---|
| language | yml |
|---|
| title | Приложение ExeMedia Service |
|---|
| exemediaservice:
depends_on:
- minio
container_name: exemediaservice
|
|
|
| Expand |
|---|
| title | Модифицировать существующий реалм Keycloak |
|---|
|
Для возможности работы с новыми приложениями ExeMES RuntimeClient и ExeSched необходимо импортировать конфигурацию новых клиентов в существующий реалм Keycloak. Для этого выполните следующие шаги: - Зайдите в приложение Keycloak под администратором реалма и выберите в выпадающем списке реалм «exemes»
Image RemovedВыбор реалма - В левом боковом меню выберите пункт «Clients»
Image RemovedПункт Clients - В центральной части экрана нажмите на кнопку «Import Client»
Image RemovedИмпорт клиента - Ниже в центральной части экрана нажмите «Browse...»
Image RemovedВыбор файла для импорта - Выберите файл exemesruntime-client.json из папки upd, которая находится в составе дистрибутива exemes 2.0 и нажмите кнопку «Открыть»
Image RemovedВыбор файла exemesruntime-client.json - После завершения загрузки файла, переместитесь в конец страницы и нажмите кнопку «Save»
Image RemovedСохранение конфигурации - Аналогичные действия необходимо произвести со вторым файлом в папке upd: exesched.json
- После завершения импорта конфигурации убедитесь что новая конфигурация появилась в списке клиентов
Image RemovedПроверка списка импортированных клиентов
Для корректной работы новых приложений ExeMES RuntimeClient и ExeSched необходимо создать и настроить роли в импортированных клиентах: - Выберите в списке клиентов «exemesruntime-client».
- В центральной части экрана перейдите на вкладку «Roles» и нажмите на кнопку «Create role»
Image RemovedСоздание роли для exemesruntime-client - Ниже заполните поля Role name и Description, в завершении нажмите кнопку «Save»
Image RemovedСохранение роли для exemesruntime-client - Таким образом, создайте 4 роли с описаниями:
- Role name = Inventory, Description = Доступ к экрану управления складскими остатками;
- Role name = Operator, Description = Доступ к панели оператора;
- Role name = Quality, Description = Доступ к экрану управления качеством;
- Role name = Utilization, Description = Доступ к экрану управления событиями оборудования.
- Вернитесь к списку клиентов и выберите «exesched»
- Для exesched создайте 1 роль:
- Role name = Scheduler, Description = Планировщик.
- Назначьте новые роли соответствующим группам пользователей, в зависимости от Вашей конфигурации. Подробно об Управлении доступом к ExeMES.
Для корректной работы механизма разграничения прав доступа по объектам выполните следующие шаги: - Добавьте новые роли соответствующим группам пользователей, в зависимости от Вашей конфигурации.
- Выберите в левом меню вкладку «Clients» далее выберите пункт «mesmiddleware»
Image RemovedВыбор клиента mesmiddleware - В центральной части экрана выберите вкладку «Roles» и нажмите кнопку «Create Role»
Image RemovedСоздание роли для mesmiddleware - В новом окне заполните поля Role name и Description. Таким образом для клиента mesmiddleware должно быть создано 2 роли:
- Role name = VAccess, Description = View Access Management;
- Role name = EAccess, Description = Edit Access Management.
- Назначьте новые роли группам пользователей, в зависимости от конфигурации Вашей системы. Подробно об Управлении доступом к ExeMES.
- Добавьте существующие роли реалма группам пользователей, отвечающим за настройку доступа к объектам.
- Добавьте роль view-users (существующая);
Image RemovedДобавление роли view-users - Добавьте роль manage-authorization (существующая).
Image RemovedДобавление роли manage-authorization
- Добавьте роль realm-management/view-clients для сервисного аккаунта клиента mesmiddleware.
- Перейдите в левом меню на вкладку «Clients»;
- Выберите пункт «mesmiddleware»;
- В центральной части экрана перейдите на вкладку «Service Account Roles» и нажмите на кнопку «Assign role»;
Image RemovedДобавление роли для сервисного аккаунта клиента mesmiddleware - В появившемся окне выберите фильтр «Filter by clients»;
- Введите в поле фильтра «view-clients»;
- Выберите роль «view-clients» и нажмите кнопку «Assign».
Image RemovedДобавление роли для сервисного аккаунта клиента mesmiddleware
|
...
| title | Обновить версии приложений ExeMES Server (Middleware) и ExeMES Client |
|---|
...
| 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 |
...
image: "git.exeplant.ru:5050/mes-develop/ |
|
|
...
...
...
| Code Block |
|---|
EntityAccessProtection: "Enabled" |
| Info |
|---|
Переменная EntityAccessProtection активирует функционал разделения прав доступа по объектам. Если Вы не планируете использовать этот функционал, можете не указывать эту переменную, либо сконфигурируйте её, указав: | Code Block |
|---|
EntityAccessProtection: "Disabled" |
Подробнее о настройке переменных окружения. |
...
| Code Block |
|---|
image: "git.exeplant.ru:5050/mes-develop/exemesclient:2.0" |
...
| title | Добавить конфигурацию запуска приложений ExeMES RuntimeClient и ExeSched |
|---|
...
...
environment:
ASPNETCORE_URLS: "https://+"
ASPNETCORE_Kestrel__Certificates__Default__Password: "1"
ASPNETCORE_Kestrel__Certificates__Default__Path: "/root/.aspnet/https/wildcard.[домен].pfx"
TZ: "Europe/Moscow"
ConnectionStrings__DefaultConnection: "Host=some-postgres;Port=5432;Database=media_service;Username=postgres;Password=postgres"
MinIO__Endpoint: "minio.[домен]:9000"
|
|
|
...
...
...
...
...
...
...
...
...
...
...
GCCSettings:BroadcastRemoteLicenses: " |
|
|
...
...
...
...
GCCSettings:UseRemoteHosts: "1"
|
|
|
...
...
...
GCCSettings:Remotehosts: "[license_server_ip]"
MiddlewareApiRootUri: "https://mesmiddleware.[домен]/api"
CORS: "https://mesclient.[домен],https://mes-runtime.[домен]"
|
|
|
...
...
...
...
...
...
...
exemediaservice/keycloak.json
|
|
|
...
...
...
...
...
...
...
...
...
...
...
...
...
exemediaservice/appsettings.json
|
|
|
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
target: /root/.aspnet/https/ |
|
|
...
...
...
...
...
...
...
...
source: /root/dev/crt/wildcard. |
|
|
...
...
...
...
...
target: /etc/ssl/certs/wildcard. |
|
|
...
[домен].pem
ports:
- "8150:443"
extra_hosts:
|
|
|
...
...
...
- "minio.[домен] mes-runtime. |
|
|
...
...
...
...
| title | Приложение ExeMES RuntimeClient |
|---|
| Tip |
|---|
Параметры [license_server_ip], [host_ip] и [домен] должны быть скорректированы под Вашу конфигурацию (используйте аналогию с конфигурацией Вашего приложения ExeMES Server (Middleware)). |
| Tip |
|---|
Параметры подключения к контейнеру БД Postgre указаны в конфигурации приложений по умолчанию. Для альтернативной БД сконфигурируйте соответствующие переменные окружения. |
| Code Block |
|---|
| language | yml |
|---|
| title | Приложение MinIO |
|---|
| minio:
|
|
|
...
...
...
...
...
...
...
...
...
...
...
...
...
...
MINIO_ROOT_USER: minioadmin
MINIO_ROOT_PASSWORD: minioadmin
MINIO_TLS_CERT: /certs/public.crt
MINIO_TLS_KEY: /certs/private.key
command: "server /data --console-address :9001 --certs-dir /certs"
ports:
- "9000:9000"
- "9001:9001"
volumes:
- /root/dev/minio/:/data
- type: bind
|
|
|
...
...
...
...
...
crt/wildcard.[домен].crt
target: / |
|
|
...
...
...
...
...
...
...
...
...
...
...
...
crt/wildcard.[домен].key
target: / |
|
|
...
| Tip |
|---|
Обратите внимание, что ExeMedia Service использует уже существующие сертификаты, проверьте правильность указания пути к файлам сертификатов (используйте аналогию с ExeMES Server (Middleware)). | Code Block |
|---|
| language | yml |
|---|
| title | Конфигурация использования сертификатов |
|---|
| - type: bind
source: /root/dev/crt/wildcard. |
|
|
|
...
[домен].pfx
target: /root/.aspnet/https/ |
|
|
|
...
wildcard.[домен].pfx
- type: bind
source: /root/dev/crt/wildcard. |
|
|
|
...
...
crt
target: /etc/ssl/certs/wildcard. |
|
|
|
...
...
Обратите внимание, что новые приложения используют уже существующие сертификаты, проверьте правильность указания пути к файлам сертификатов (используйте аналогию с ExeMES Server (Middleware)).
...
Для работы по https приложение MinIO использует уже существующие сертификаты, проверьте правильность указания пути к файлам сертификатов, а также проверьте, что внутрь контейнера сертификат и закрытый ключ передаются с именами, как в примере ниже: | Code Block |
|---|
| language | yml |
|---|
| title | Монтирование файлов сертификатов с необходимыми именами |
|---|
|
|
|
|
...
| - type: bind
source: /root/dev/crt/ |
|
|
|
...
wildcard.[домен].crt
target: / |
|
|
|
...
...
public.crt
- type: bind
source: /root/dev/crt/wildcard. |
|
|
|
...
...
...
| Note |
|---|
По умолчанию ExeMES использует защищенное подключение к БД MinIO. Если Вы хотите настроить подключение к БД MinIO без использования сертификатов, выполните действия по настройке подключения к БД MinIO без использования сертификатов. Указанные действия описаны в инструкции по установке ExeMES. |
Для возможности использования нового модуля ExeMedia, задайте новые переменные окружения MediaServiceHost в конфигурации ExeMES Client и ExeMES RuntimeClient: | Code Block |
|---|
MediaServiceHost: "https://exemedia.[домен]:8150" |
|
|
| Tip |
|---|
Параметры [license_server_ip] и [host_ip] должны быть скорректированы под Вашу конфигурацию (используйте аналогию с конфигурацией Вашего приложения ExeMES Server (Middleware)). |
...
- После завершения редактирования файла docker compose выполните перезапуск измененных и запуск добавленных контейнеров, выполнив команду:
| Code Block |
|---|
| docker compose up -d |
|
|
...
| Проверить возможность обновления БД MESDB |
| |
|
...
Если описанная ниже проверка не будет пройдена – процедура обновления БД MESDB |
|
|
...
ExeMES Client Для корректной работы функционала обновления необходимо предварительно выполнить следующие действия:
...
| 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'); |
В версии 2.4 добавлено логическое ограничение, которое может конфликтовать с существующими данными в БД MESDB. Для проверки возможности обновления подключитесь любым клиентом СУБД, который поддерживает Postgre SQL версии 15.4 к БД MESDB и выполните скрипт: | Code Block |
|---|
| select l.qm_spec_id, s.qm_spec_name, l.char_id, ch.char_name, l.normal_sample_size, l.minimum_sample_size,l.maximum_sample_size
from qm_spec_char_link l
left join qm_spec s on s.qm_spec_id = l.qm_spec_id
left join characteristic ch on ch.char_id = l.char_id
where l.normal_sample_size > l.maximum_sample_size
OR l.minimum_sample_size > l.normal_sample_size
OR l.minimum_sample_size > l.maximum_sample_size
OR l.minimum_sample_size < 1
OR l.normal_sample_size < 1
OR l.maximum_sample_size < 1 |
Если результат выполнения скрипта не вернул ни одной строки – обновление БД MESDB возможно. Если результат выполнения скрипта вернул набор данных – необходимо скорректировать конфигурацию характеристики спецификации управления качеством в части ограничений минимального, нормального и максимального количества измерений. | Tip |
|---|
Имя характеристики, имя спецификации и значения минимального, нормального и максимального количества измерений которые не соответствуют новому ограничению будут содержаться в результате выполнения скрипта: Image Added
|
|
| Expand |
|---|
| title | Обновить версию БД MESDB |
|---|
| | Warning |
|---|
Процесс обновления БД MESDB до версии 2.4 возможен, начиная с версии 1.3. Для обновления до версии 1.3 см. пункт Обновление на версию 1.3. Перед обновлением выполните процедуру резервного копирования БД MESDB. |
| Warning |
|---|
Если вы не обновите версию БД сразу после обновления версии приложений ExeMES, то при открытии любой страницы ExeMES Client будет появляться предупреждение: Image Added
|
|
| Expand |
|---|
| title | Импортировать демонстрационные данные |
|---|
| | Note |
|---|
| Начиная с версии 2.4 для ExeMES доступны наборы демонстрационных данных. Если вы используете ExeMES не на продуктивной среде, при необходимости, вы можете импортировать наборы демонстрационных данных для ознакомления с функциональностью ExeMES. Данный шаг является опциональным |
Для импорта демонстрационных данных воспользуйтесь инструкцией. |
|
| Expand |
|---|
| title | Обновление на версию 2.3 |
|---|
|
Для обновления на версию ExeMES 2.3 необходимо выполнить последовательно следующие шаги: | Expand |
|---|
| title | Обновить версии приложений ExeMES Server (Middleware), ExeMES Client, ExeMES RuntimeClirent и ExeSched |
|---|
| - Добавьте образы новых приложений в docker. Для этого находясь в папке /images/ дистрибутива ExeMES 2.3 выполните следующие команды:
| 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 |
- Укажите новый образ для ExeMES Server (Middleware):
| Code Block |
|---|
image: "git.exeplant.ru:5050/mes-develop/exemesmiddleware:2.3" |
- Укажите новый образ для ExeMES Client:
| Code Block |
|---|
image: "git.exeplant.ru:5050/mes-develop/exemesclient:2.3" |
- Укажите новый образ для ExeMES RuntimeClient:
| Code Block |
|---|
image: "git.exeplant.ru:5050/mes-develop/exeruntimeclient:2.3" |
- Укажите новый образ для 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. |
| 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 |
|---|
| - Добавьте образы новых приложений в 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 |
- Укажите новый образ для ExeMES Server (Middleware):
| Code Block |
|---|
image: "git.exeplant.ru:5050/mes-develop/exemesmiddleware:2.2" |
- Укажите новый образ для ExeMES Client:
| Code Block |
|---|
image: "git.exeplant.ru:5050/mes-develop/exemesclient:2.2" |
- Укажите новый образ для ExeMES RuntimeClient:
| Code Block |
|---|
image: "git.exeplant.ru:5050/mes-develop/exeruntimeclient:2.2" |
- Укажите новый образ для 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. |
|
| Warning |
|---|
Если вы обновляетесь с версии младше 2.1 перед началом обновления модифицируйте существующий realm Keycloak, как это указано в инструкции для обновления на версию 2.1 |
|
| Expand |
|---|
| title | Обновление на версию 2.1 |
|---|
|
Для обновления на версию ExeMES 2.1 необходимо выполнить последовательно следующие шаги: | Expand |
|---|
| title | Обновить версии приложений ExeMES Server (Middleware), ExeMES Client, ExeMES RuntimeClirent и ExeSched |
|---|
| - Добавьте образы новых приложений в 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 |
- Укажите новый образ для ExeMES Server (Middleware):
| Code Block |
|---|
image: "git.exeplant.ru:5050/mes-develop/exemesmiddleware:2.1" |
- Укажите новый образ для ExeMES Client:
| Code Block |
|---|
image: "git.exeplant.ru:5050/mes-develop/exemesclient:2.1" |
- Укажите новый образ для ExeMES RuntimeClient:
| Code Block |
|---|
image: "git.exeplant.ru:5050/mes-develop/exeruntimeclient:2.1" |
- Укажите новый образ для 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. |
|
| Warning |
|---|
Если вы обновляетесь с версии младше 2.0 перед началом обновления модифицируйте существующий realm Keycloak и добавьте конфигурацию запуска приложений ExeMES RuntimeClient и ExeSched, как это указано в инструкции для обновления на версию 2.0 |
|
| Expand |
|---|
| title | Обновление на версию 2.0 |
|---|
|
Для обновления на версию ExeMES 2.0 необходимо выполнить последовательно следующие шаги: | Expand |
|---|
| title | Модифицировать существующий реалм Keycloak |
|---|
| Для возможности работы с новыми приложениями ExeMES RuntimeClient и ExeSched необходимо импортировать конфигурацию новых клиентов в существующий реалм Keycloak. Для этого выполните следующие шаги: - Зайдите в приложение Keycloak под администратором реалма и выберите в выпадающем списке реалм «exemes»
Image AddedВыбор реалма - В левом боковом меню выберите пункт «Clients»
Image AddedПункт Clients - В центральной части экрана нажмите на кнопку «Import Client»
Image AddedИмпорт клиента - Ниже в центральной части экрана нажмите «Browse...»
Image AddedВыбор файла для импорта - Выберите файл exemesruntime-client.json из папки upd, которая находится в составе дистрибутива exemes 2.0 и нажмите кнопку «Открыть»
Image AddedВыбор файла exemesruntime-client.json - После завершения загрузки файла, переместитесь в конец страницы и нажмите кнопку «Save»
Image AddedСохранение конфигурации - Аналогичные действия необходимо произвести со вторым файлом в папке upd: exesched.json
- После завершения импорта конфигурации убедитесь что новая конфигурация появилась в списке клиентов
Image AddedПроверка списка импортированных клиентов
Для корректной работы новых приложений ExeMES RuntimeClient и ExeSched необходимо создать и настроить роли в импортированных клиентах: - Выберите в списке клиентов «exemesruntime-client».
- В центральной части экрана перейдите на вкладку «Roles» и нажмите на кнопку «Create role»
Image AddedСоздание роли для exemesruntime-client - Ниже заполните поля Role name и Description, в завершении нажмите кнопку «Save»
Image AddedСохранение роли для exemesruntime-client - Таким образом, создайте 4 роли с описаниями:
- Role name = Inventory, Description = Доступ к экрану управления складскими остатками;
- Role name = Operator, Description = Доступ к панели оператора;
- Role name = Quality, Description = Доступ к экрану управления качеством;
- Role name = Utilization, Description = Доступ к экрану управления событиями оборудования.
- Вернитесь к списку клиентов и выберите «exesched»
- Для exesched создайте 1 роль:
- Role name = Scheduler, Description = Планировщик.
- Назначьте новые роли соответствующим группам пользователей, в зависимости от Вашей конфигурации. Подробно об Управлении доступом к ExeMES.
Для корректной работы механизма разграничения прав доступа по объектам выполните следующие шаги: - Добавьте новые роли соответствующим группам пользователей, в зависимости от Вашей конфигурации.
- Выберите в левом меню вкладку «Clients» далее выберите пункт «mesmiddleware»
Image AddedВыбор клиента mesmiddleware - В центральной части экрана выберите вкладку «Roles» и нажмите кнопку «Create Role»
Image AddedСоздание роли для mesmiddleware - В новом окне заполните поля Role name и Description. Таким образом для клиента mesmiddleware должно быть создано 2 роли:
- Role name = VAccess, Description = View Access Management;
- Role name = EAccess, Description = Edit Access Management.
- Назначьте новые роли группам пользователей, в зависимости от конфигурации Вашей системы. Подробно об Управлении доступом к ExeMES.
- Добавьте существующие роли реалма группам пользователей, отвечающим за настройку доступа к объектам.
- Добавьте роль view-users (существующая);
Image AddedДобавление роли view-users - Добавьте роль manage-authorization (существующая).
Image AddedДобавление роли manage-authorization
- Добавьте роль realm-management/view-clients для сервисного аккаунта клиента mesmiddleware.
- Перейдите в левом меню на вкладку «Clients»;
- Выберите пункт «mesmiddleware»;
- В центральной части экрана перейдите на вкладку «Service Account Roles» и нажмите на кнопку «Assign role»;
Image AddedДобавление роли для сервисного аккаунта клиента mesmiddleware - В появившемся окне выберите фильтр «Filter by clients»;
- Введите в поле фильтра «view-clients»;
- Выберите роль «view-clients» и нажмите кнопку «Assign».
Image AddedДобавление роли для сервисного аккаунта клиента mesmiddleware
|
| Expand |
|---|
| title | Обновить версии приложений ExeMES Server (Middleware) и ExeMES Client |
|---|
| - Добавьте образы новых приложений в 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 |
- Укажите новый образ для ExeMES Server (Middleware):
| Code Block |
|---|
image: "git.exeplant.ru:5050/mes-develop/exemesmiddleware:2.0" |
- Сконфигурируйте новую переменную окружения для ExeMES Server (Middleware):
| Code Block |
|---|
EntityAccessProtection: "Enabled" |
- Укажите новый образ для ExeMES Client:
| Code Block |
|---|
image: "git.exeplant.ru:5050/mes-develop/exemesclient:2.0" |
|
| Expand |
|---|
| title | Добавить конфигурацию запуска приложений ExeMES RuntimeClient и ExeSched |
|---|
| - Скопируйте папки data/exeruntimeclient и data/exesched в папку с установленным ПО ExeMES (по умолчанию root/dev/);
- Добавьте в файл docker-compose (по умолчанию root/dev/) конфигурацию приложения ExeMES RuntimeClient и ExeSched;
| Code Block |
|---|
| exesched:
container_name: exesched
image: "git.exeplant.ru:5050/mes-develop/exesched:1.0"
restart: always
environment:
MiddlewareApiRootUri: "https://middleware.[]: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.[домен].crt
target: /etc/ssl/certs/wildcard.[домен].pem
extra_hosts:
- "mes-runtime.[домен] client.[домен] middleware.[домен] exesched.[домен] keycloak.[домен]:[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.[домен].pfx
target: /root/.aspnet/https/EXEMESClient.pfx
- type: bind
source: /root/dev/crt/wildcard.[домен].crt
target: /etc/ssl/certs/wildcard.[домен].pem
extra_hosts:
- "mes-runtime.[домен] client.[домен] middleware.[домен] keycloak.[домен]:[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.[домен].crt
target: /etc/ssl/certs/wildcard.[домен].pem |
|
| Tip |
|---|
Параметры [license_server_ip], [host_ip] и [домен] должны быть скорректированы под Вашу конфигурацию (используйте аналогию с конфигурацией Вашего приложения ExeMES Server (Middleware)). |
| Tip |
|---|
Параметры подключения к контейнеру БД Postgre указаны в конфигурации приложений по умолчанию. Для альтернативной БД сконфигурируйте соответствующие переменные окружения. |
- После завершения редактирования файла docker compose выполните перезапуск измененных и запуск добавленных контейнеров, выполнив команду:
| Code Block |
|---|
docker compose up -d |
|
| Expand |
|---|
| title | Обновить версию БД MESDB |
|---|
| | Warning |
|---|
Процесс обновления БД MESDB до версии 2.0 возможен, начиная с версии 1.3. Для обновления до версии 1.3 см. пункт Обновление на версию 1.3. Перед обновлением выполните процедуру резервного копирования БД 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 | Подготовить БД 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; |
|
|
| Expand |
|---|
| title | Обновление на версию 1.2 |
|---|
|
Для обновления ПО ExeMES до версии 1.2 необходимо: - Установить ПО Guardant (при обновлении с версии 1.0)
|
| 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.2 |
|---|
Для обновления ПО ExeMES до версии 1.2 необходимо:
...
...
| Warning |
|---|
Перед обновлением БД MESDB необходимо создать резервную копию БД. При обновлении версии БД MESDB существующая конфигурация производственной модели и накопленные производственные данные будут сохранены. Обновление БД MESDB затрагивает только схему public, в том числе будут обновлены функции и хранимые процедуры. |
Для обновления версии БД MESDB потребуется любой клиент СУБД, поддерживающий подключение к СУБД Postgres. В клиенте СУБД необходимо выполнить подключение к БД MESDB, параметры подключения можно получить из docker-compose файла, который использовался при запуске существующей версии ExeMES. Далее необходимо выполнить скрипты sql, который располагаются в папке db_updates в дистрибутиве ExeMES 1.2:- Для обновления с версии 1.0 до версии 1.1:
- UPD_from_V1.0.0_to_V1.0.1.sql
- UPD_from_V1.0.1_to_V1.0.2.sql
- UPD_from_V1.0.2_to_V1.0.3.sql
- UPD_from_V1.0.3_to_V1.0.4.sql
- UPD_from_V1.0.4_to_V1.0.5.sql
- UPD_from_V1.0.5_to_V1.1.0.sql
- Для обновления с версии 1.1 до версии 1.2:
- V1.1.0_to_V1.2.0.sql
...
По умолчанию при установке ExeMES для хранилища СУБД Postgre используется директория /root/dev/db/. Если при установке ExeMES было задано альтернативное размещение хранилища СУБД Postgre, то необходимо изменить путь подключения к нему.
Для этого перед развертыванием новых контейнеров ExeMES в Docker необходимо скорректировать файл docker-compose в части конфигурации контейнера Postgres, а именно добавить:
| Code Block |
|---|
volumes:
- [путь к папке с существующим хранилищем БД Postgre]:/var/lib/postgresql/data/ |
...
- Для запуска контейнеров ExeMES версии 1.1, необходимо предварительно остановить и удалить существующие контейнеры ExeMES:
- Postgres;
- Keycloak;
- Exemiddleware;
- Exemesclient.
| Tip |
|---|
Т.к. Keycloak хранит конфигурацию в БД, при удалении контейнера конфигурация не будет потеряна, внесенные настройки сохранены в БД и будут использованы новой версией контейнера |
| Tip |
|---|
Если вы планируете изменить сертификаты безопасности не забудьте их сгенерировать и указать для использования приложениям как указано в инструкции |
Затем необходимо установить новую версию ExeMES согласно инструкции ниже
...
| title | Обновление на версию 1.1 |
|---|
Для обновления ПО ExeMES до версии 1.1 необходимо:
...
- ;
| Expand |
|---|
| | Include Page |
|---|
| Установка Guardant Control Center и Guardant SLK |
|---|
| Установка Guardant Control Center и Guardant SLK |
|---|
|
|
- Обновить БД MESDB;
| Warning |
|---|
Перед обновлением БД MESDB необходимо создать резервную копию БД. При обновлении версии БД MESDB существующая конфигурация производственной модели и накопленные производственные данные будут сохранены. Обновление БД MESDB затрагивает только схему public, в том числе будут обновлены функции и хранимые процедуры. | Для обновления версии БД MESDB потребуется любой клиент СУБД, поддерживающий подключение к СУБД Postgres. В клиенте СУБД необходимо выполнить подключение к БД MESDB, параметры подключения можно получить из docker-compose файла, который использовался при запуске существующей версии ExeMES. Далее необходимо выполнить скрипты sql, который располагаются в папке db_updates в дистрибутиве ExeMES 1.2:- Для обновления с версии 1.0 до версии 1.1:
- UPD_from_V1.0.0_to_V1.0.1.sql
- UPD_from_V1.0.1_to_V1.0.2.sql
- UPD_from_V1.0.2_to_V1.0.3.sql
- UPD_from_V1.0.3_to_V1.0.4.sql
- UPD_from_V1.0.4_to_V1.0.5.sql
- UPD_from_V1.0.5_to_V1.1.0.sql
- Для обновления с версии 1.1 до версии 1.2:
- V1.1.0_to_V1.2.0.sql
- Скорректировать путь для доступа контейнеров к существующему хранилищу СУБД Postgre;
По умолчанию при установке ExeMES для хранилища СУБД Postgre используется директория /root/dev/db/. Если при установке ExeMES было задано альтернативное размещение хранилища СУБД Postgre, то необходимо изменить путь подключения к нему. Для этого перед развертыванием новых контейнеров ExeMES в Docker необходимо скорректировать файл docker-compose в части конфигурации контейнера Postgres, а именно добавить: | Code Block |
|---|
volumes:
- [путь к папке с существующим хранилищем БД Postgre]:/var/lib/postgresql/data/ |
- Удалить старые и запустить новые контейнеры ExeMES.
- Для запуска контейнеров ExeMES версии 1.1, необходимо предварительно остановить и удалить существующие контейнеры ExeMES:
- Postgres;
- Keycloak;
- Exemiddleware;
- Exemesclient.
| Tip |
|---|
Т.к. Keycloak хранит конфигурацию в БД, при удалении контейнера конфигурация не будет потеряна, внесенные настройки сохранены в БД и будут использованы новой версией контейнера |
| Tip |
|---|
Если вы планируете изменить сертификаты безопасности не забудьте их сгенерировать и указать для использования приложениям как указано в инструкции |
Затем необходимо установить новую версию ExeMES согласно инструкции ниже | Excerpt Include |
|---|
| Инструкция по установке ExeMES |
|---|
| Инструкция по установке ExeMES |
|---|
| nopanel | true |
|---|
|
|