1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2026-06-18 05:04:13 +02:00

Main build (Jenkins)

This commit is contained in:
Vitaly the Alpaca (bot)
2026-01-21 21:23:28 +03:00
parent 60dd2076b4
commit b31bddc95f
19 changed files with 10591 additions and 10401 deletions
+1 -1
View File
@@ -1 +1 @@
D8BC1499AEEDA09C9D2F1D7602EBC56089E77B29120ABE44FBB49081D26C9ECD
D5BF059745FD19246ACAA873DAF4338D71F5D2F0A01F5593101C5FF58195ED72
+89
View File
@@ -0,0 +1,89 @@
---
id: Debugging
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Integration, Services, Exchange, OneScript, CLI]
title: Debugging
sidebar_position: 5
---
This section contains information about configuring and debugging Melezh-based projects
### Enabling Melezh debugging in a container
:::tip
Works in Melezh starting from version `0.9.0` when using OneScript Debug Adapter `>=1.1.0`
:::
In Melezh Docker images, debug port 1931 is configured by default for [OneScript Debug Adapter](https://marketplace.visualstudio.com/items?itemName=EvilBeaver.oscript-debug). This port needs to be forwarded to the local machine, after which you should create a 'launch.json' in VS Code with the following content:
```json
{
"version": "0.2.0",
"configurations": [
{
"name": "Melezh Attach",
"type": "oscript",
"request": "attach",
"debugPort": 1831,
"pathsMapping": {
"remotePath": "/app",
"localPath": "D:/Repos/Melezh"
}
},
]
}
```
The remote directory `/app` is the main Melezh workspace directory inside the container, where the project file, log directory are stored and from which relative paths in settings are calculated. It is recommended to specify it as a volume on the local machine (`D:/Repos/Melezh` from the example) when creating the container and create a subdirectory there for extensions that need to be debugged. This will be sufficient for debugging extensions and editing them "on the fly". To debug all of Melezh, including internal systems, you need to connect or recreate the Melezh directory structure on the local machine, since during debugging the base for calculating paths to modules is determined by the `remotePath` and `localPath` fields. All relative paths to debugged files after these base paths on the local machine and in the container must match. For example, with the 'launch.json' file from the example, the module `/app/my_extension/extension.os` can be debugged on the local machine by working with the module `D:/Repos/Melezh/my_extension/extension.os` in the code editor
### Debugging on local machine
To start debugging on a local machine, you can either run Melezh through the adapter in VS Code (the Melezh process will be terminated at the end of debugging), or, as in the case of working with a Docker container, allocate a permanent port to connect the debugger to it as needed
**To start debugging Melezh through VS Code**, you need to open the main Melezh installation directory as a project and create a `launch.json` with the following content:
```json
{
"name": "Debug Melezh UI",
"type": "oscript",
"request": "launch",
"program": "${workspaceRoot}/core/Classes/app.os",
"args": ["ЗапуститьПроект", "--port", "1921", "--proj", "D:/test_proj.melezh", "--debug"],
"cwd": "${workspaceRoot}",
"env": {},
"runtimeExecutable": null,
"runtimeArgs": [],
"debugPort": 2801
}
```
+ In the `program` field, you need to specify the path to the `core/Classes/app.os` file in the Melezh directory
+ In the `args` field, you need to replace `port` and `proj` with your startup port and path to the debugged project file respectively
:::important
If Melezh was installed from the Windows installer or Linux package, then OneScript may not be present on the target machine as a separate application registered in PATH. In this case, you can install OneScript separately, or specify in the `runtimeExecutable` field the path to the built-in OneScript engine inside Melezh
On Linux: `usr/share/oint/bin/oscript`
On Windows: `{OInt installation directory}\OInt\share\oint\bin\oscript.exe`
:::
After starting debugging in VS Code, you can set breakpoints both in the main Melezh scripts and in custom extension files
**To run Melezh with a permanent debug port**, you need to:
- If Melezh was installed from the Windows installer or Linux package, then it is sufficient to set the `MELEZH_DEBUG` environment variable with the preferred port number before running `melezh`, through which the debugger will be available later
- If Melezh was installed as an OPM package, then you need to modify the `melezh.bat/melezh.sh` file in `OneScript/bin`, adding `-debug -port="Port number" -noWait` between `oscript` and the path to `app.os`. For example:
```bash
oscript -debug -port="1931" -noWait /usr/share/oint/lib/melezh/core/Classes/app.os "$@"
```
You can connect to the process for debugging after starting Melezh using Debug Adapter with `launch.json` of the following form:
```json
{
"name": "Melezh Attach",
"type": "oscript",
"request": "attach",
"debugPort": 1931
}
```
+41 -32
View File
@@ -1,24 +1,48 @@
---
id: Installation
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Integration, Services, Exchange, OneScript, CLI]
title: Installation
sidebar_position: 1
---
To start working with Melezh, you need to complete the installation process and then create and configure a project. This section describes the Melezh installation procedure for different environments. The installation method depends on your operating system and the availability of Docker or OneScript with OPM package manager:
To start working with Melezh, you need to go through the installation procedure, after which you can create and configure a project. This section describes the process of installing Melezh on a specific device. The choice of one method or another depends on the operating system, as well as the availability of Docker or OneScript with the OPM package manager:
## OneScript (Recommended)
## Installation in a container (recommended)
Melezh and OInt are primarily distributed as packages for [OneScript](https://github.com/EvilBeaver/OneScript) and can be installed using the OPM package manager. The Russian version of the package can be installed from the cloud package hub using the following console command:
The easiest way to run Melezh with all necessary dependencies is using Docker. This can be done in one of the following ways:
+ Get the image from GHCR and run the container:
```bash
Instead of -deb you can specify -rpm to use rpm-based distribution
Instead of -ru you can specify -en to get the English version
Instead of latest you can specify a specific version of Melezh
Port 1921 - main port of Melezh http-server
Port 1931 - debug port for connecting OneScript Debug Adapter for VS Code during operation. See Debugging section for details
docker pull ghcr.io/bayselonarrend/melezh:latest-deb-en
docker run -d -p 1921:1921 -p 1931:1931 --name melezh ghcr.io/bayselonarrend/melezh:latest-deb-en
```
+ Download the zip archive with Dockerfile (`melezh-docker-ru.zip` or `melezh-docker-en.zip`) from the repository release on Github. The archive needs to be unpacked, after which you should run one of the installation scripts located there - `bat` or `sh`, depending on the OS being used
<br>
## Installation on local machine
You can also install Melezh as a OneScript package or application on a local machine in one of the following ways:
### OneScript
Melezh and OInt are primarily packages for [OneScript](https://github.com/EvilBeaver/OneScript), which can be installed using the OPM package manager. The Russian version of the package can be installed from the cloud package hub using the console command:
```bash
opm install melezh
```
This package includes dependencies for both OInt and OInt CLI - they will be installed automatically.
This package already has dependencies on OInt and OInt CLI - they will be installed automatically
Alternatively, both English and Russian versions can be installed from local `.ospx` package files available in the releases of their respective repositories:
- [Melezh](https://github.com/Bayselonarrend/OpenIntegrations)
- [OpenIntegrations](https://github.com/Bayselonarrend/OpenIntegrations)
In addition to getting from the cloud, both English and Russian versions can be installed from local `.ospx` package files, which are located in the releases of the corresponding repositories [Melezh](https://github.com/Bayselonarrend/OpenIntegrations) and [OpenIntegrations](https://github.com/Bayselonarrend/OpenIntegrations):
```bash
opm install -f oint-x.x.x_lang.ospx
@@ -27,42 +51,27 @@ opm install -f melezh-x.x.x_lang.ospx
```
:::warning
Melezh is compatible with any `oint` version above 1.24.0, but requires language version matching: both Melezh and OInt are available in two language variants (Russian and English) that cannot be mixed. The Russian version of Melezh can only be installed on top of the Russian OInt, and the English version requires the English OInt respectively.
Each version of `melezh` is compatible with the corresponding version of `oint` provided the package languages match. For example, the Russian version of Melezh 0.8.0 is compatible with the Russian version of `oint` 1.31.0, version 0.9.0 - with 1.32.0, etc. The latest version of Melezh is always compatible with the latest version of `oint` and is always released simultaneously with it. When updating `melezh` to a newer version, the `oint` and `oint-cli` packages must also be updated. The same applies in reverse
:::
<br/><hr/>
<hr/>
### Windows
## Docker
Installing Melezh on Windows is done during the installation of `oint` - the main console application of the Open Integration Package. Simply download the `oint` installers from the [OpenIntegrations](https://github.com/Bayselonarrend/OpenIntegrations) repository release (v >= 1.24.0), then during installation, check the box on the page asking about additional Melezh installation:
You can run Melezh in a Docker container using one of these methods:
+ Pull the image from GHCR and run the container:
```bash
# Use -deb or -rpm for different distros
# Use -ru or -en for language version
# Replace 'latest' with specific version if needed
# Change port in -p argument as needed
docker pull ghcr.io/bayselonarrend/melezh:latest-deb-en
docker run -d -p 1921:1921 --name melezh ghcr.io/bayselonarrend/melezh:latest-deb-en
```
+ Download the Dockerfile zip archive (`melezh-docker-ru.zip` or `melezh-docker-en.zip`) from GitHub releases. Extract the archive and run the appropriate setup script based on your operating system (`bat` for Windows or `sh` for Linux).
![Melezh Installation](../../../../static/img/Docs/Melezh/ru/1.png)
<hr/>
## Windows
### Linux
To install Melezh on devices with Linux OS, `.deb` and `.rpm` packages are available in the Melezh repository releases. Both depend on the `oint` package, which in corresponding (`.deb` or `.rpm`) variants can be found in the [OpenIntegrations](https://github.com/Bayselonarrend/OpenIntegrations) repository releases
As with OneScript packages, it is important to maintain correspondence of version numbers and language versions
On Windows, Melezh is installed as part of the `oint` setup - the main console application of the Open Integration Package. Simply download the `oint` installers (version 1.24.0 or higher) from the [OpenIntegrations](https://github.com/Bayselonarrend/OpenIntegrations) releases, and during installation, check the box when prompted about additional Melezh installation:
![Melezh](../../../../static/img/Docs/Melezh/en/1.png)
<hr/>
## Linux
For Linux systems, Melezh provides `.deb` and `.rpm` packages in its GitHub releases. Both package formats require the `oint` package as a dependency, which is available in corresponding formats from the [OpenIntegrations](https://github.com/Bayselonarrend/OpenIntegrations) repository releases.
As with OneScript packages, it's crucial to maintain language version consistency: **Russian Melezh** requires **Russian OInt**, while **English Melezh** must be paired with **English OInt**.
+1 -1
View File
@@ -1,7 +1,7 @@
---
id: Logging
title: Logging system
sidebar_position: 5
sidebar_position: 6
---
This section describes the configuration and usage of Melezh's built-in logging system.
+89
View File
@@ -0,0 +1,89 @@
---
id: Debugging
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI]
title: Отладка
sidebar_position: 5
---
В этом разделе содержится информация о настройке и способах отладки проектов на базе Melezh
### Включение отладки Melezh в контейнере
:::tip
Работает в Melezh начиная с версии `0.9.0` при использовании OneScript Debug Adapter `>=1.1.0`
:::
В Docker-образах Melezh по умолчанию прописан порт отладки 1931 для [OneScript Debug Adapter](https://marketplace.visualstudio.com/items?itemName=EvilBeaver.oscript-debug). Этот порт необходимо прокинуть на локальную машину, после чего создать в VS Code 'launch.json' следующего содержания:
```json
{
"version": "0.2.0",
"configurations": [
{
"name": "Melezh Attach",
"type": "oscript",
"request": "attach",
"debugPort": 1831,
"pathsMapping": {
"remotePath": "/app",
"localPath": "D:/Repos/Melezh"
}
},
]
}
```
Удаленный каталог `/app` - основной каталог рабочей области Melezh внутри контейнера, где хранится файл проекта, каталог логов и от которого считаются относительные пути в настройках. Рекомендуется указать его как volume на локальной машине (`D:/Repos/Melezh` из примера) при создании контейнера и создать там подкаталог для расширений, которые необходимо отлаживать. Этого будет достаточно для отладки расширений и правки их "на горячую". Для отладки всего Melezh, включая внутренние системы, необходимо подключить или воссоздать структуру каталогов Melezh на локальной машине, так как в процессе отладки база для расчета путей к модулям определяется по полями `remotePath` и `localPath`. Все относительные пути к отлаживаемым файлам после этих базовых путей на локальной машине и в контейнере должны совпадать. Например, при файле 'launch.json' из примера, модуль `/app/my_extension/extension.os` можно отладить на локальной машине, работая с модулем `D:/Repos/Melezh/my_extension/extension.os` в редакторе кода
### Отладка на локальной машине
Для начала отладки на локальной машине, вы можете либо запустить Melezh через адаптера в VS Code (процесс Melezh будет завершен по окончании отладки), либо, как и в случае работы с Docker контейнером, выделить постоянный порт для подключения к нему отладчика по необходимости
**Для запуска отладки Melezh через VS Code**, необходимо открыть основную директорию установки Melezh как проект и создать `launch.json` следующего содержания:
```json
{
"name": "Отладка Melezh UI",
"type": "oscript",
"request": "launch",
"program": "${workspaceRoot}/core/Classes/app.os",
"args": ["ЗапуститьПроект", "--port", "1921", "--proj", "D:/test_proj.melezh", "--debug"],
"cwd": "${workspaceRoot}",
"env": {},
"runtimeExecutable": null,
"runtimeArgs": [],
"debugPort": 2801
}
```
+ В поле `program` необходимо указать путь к файлу `core/Classes/app.os` в каталоге Melezh
+ В поле `args` необходимо заменить `port` и `proj` на свои порт запуска и путь к файлу отлаживаемого проекта соответственно
:::important
Если Melezh был установлен из установщика Windows или Linux пакета, то OneScript может отсутствовать на целевой машине в качестве отдельного приложения, прописанного в PATH. В таком случае, можно установить OneScript отдельно, либо прописать в поле `runtimeExecutable` путь к встроенному движку OneScript внутри Melezh
На Linux: `usr/share/oint/bin/oscript`
На Windows: `{Каталог установки oint}\OInt\share\oint\bin\oscript.exe`
:::
После запуска отладки в VS Code, можно устанавливать точки останова как в основных скриптах Melezh, так и в файлах пользовательских расширений
**Для запуска Melezh с постоянным портом отладки**, необходимо:
- Если Melezh был установлен из Windows установщика или Linux-пакета, то достаточно перед запуском `melezh` установить значение переменной окружения `MELEZH_DEBUG` с предпочтительным номером порта, по которому отладчик будет доступен в дальнейшем
- Если Melezh был установлен как OPM пакет, то необходимо изменить файл `melezh.bat/melezh.sh` в `OneScript/bin`, добавив `-debug -port="Номер порта" -noWait` между `oscript` и путем к `app.os`. Например:
```bash
oscript -debug -port="1931" -noWait /usr/share/oint/lib/melezh/core/Classes/app.os "$@"
```
Подключиться к процессу для отладки после запуска Melezh можно при помощи Debug Adapter c `launch.json` следующего вида:
```json
{
"name": "Подключение Melezh",
"type": "oscript",
"request": "attach",
"debugPort": 1931
}
```
+31 -28
View File
@@ -7,7 +7,32 @@ sidebar_position: 1
Для начала работы с Melezh необходимо пройти процедуру его установки, после чего создать и настроить проект. В этом разделе описан процесс установки Melezh на конкретном устройстве. Выбор того или иного способа зависит от операционной системы, а также доступности в ней Docker или OneScript с пакетным менеджером OPM:
## OneScript (рекомендуется)
## Установка в контейнере (рекомендуется)
Запустить Melezh со всеми необходимыми зависимостями проще всего при помощи Docker. Сделать это можно одним из следующих способов:
+ Получить образ из GHCR и запустить контейнер:
```bash
Вместо -deb можно указать -rpm для использования rpm-based дистрибутива
Вместо -ru можно указать -en для получения английской версии
Вместо latest можно указать конкретную версию Melezh
Порт 1921 - основной порт http-сервера Melezh
Порт 1931 - порт отладки для подключения OneScript Debug Adapter для VS Code в процессе работы. Подробнее в разделе Отладка
docker pull ghcr.io/bayselonarrend/melezh:latest-deb-ru
docker run -d -p 1921:1921 -p 1931:1931 --name melezh ghcr.io/bayselonarrend/melezh:latest-deb-ru
```
+ Скачать zip-архив с Dockerfile (`melezh-docker-ru.zip` или `melezh-docker-en.zip`) из релиза репозитория на Github. Архив необходимо распаковать, после чего запустить один из находящихся там скриптов установки - `bat` или `sh`, в зависимости от используемой ОС
<br>
## Установка на локальной машине
Вы также можете установить Melezh в качестве OneScript пакета или приложения на локальной машине одним из следующих способов:
### OneScript
Melezh и OInt - это, в первую очередь, пакеты для [OneScript](https://github.com/EvilBeaver/OneScript), которые могут быть установлены при помощи пакетного менеджера OPM. Русская версия пакета может быть установлена из облачного хаба пакетов при помощи консольной команды:
@@ -26,34 +51,12 @@ opm install -f melezh-x.x.x_lang.ospx
```
:::warning
Melezh совместим с любой версией `oint`, выше 1.24.0, но при условии совпадения языков: и Melezh, и OInt поставляются в двух языковых вариантах - русском и английском, которые нельзя смешивать друг с другом. Т.е. русская версия Melezh может быть установлена только поверх русской версии OInt, а английская - только поверх английской, соответственно
Каждая версия `melezh` совместима с соответствующей ей по порядку версией `oint` при условии совпадения языка пакетов. Например, русская версия Melezh 0.8.0 совместима с русской версией `oint` 1.31.0, версия 0.9.0 - c 1.32.0 и т.д. Последняя версия Melezh всегда совместима с последней версией `oint` и всегда выходит одновременно с ней. При обновлении `melezh` до более новой версии, пакеты `oint` и `oint-cli` также должны быть обновлены. Аналогичным образом работает и в обратную сторону
:::
<br/><hr/>
## Docker
Запустить Melezh в Docker-контейнере можно одним из следующих способов:
+ Получить образ из GHCR и запустить контейнер:
```bash
:: Вместо -deb можно указать -rpm для использования rpm-based дистрибутива
:: Вместо -ru можно указать -en для получения английской версии
:: Вместо latest можно указать конкретную версию Melezh
:: Порт может быть изменен в аргументе -p
docker pull ghcr.io/bayselonarrend/melezh:latest-deb-ru
docker run -d -p 1921:1921 --name melezh ghcr.io/bayselonarrend/melezh:latest-deb-ru
```
+ Скачать zip-архив с Dockerfile (`melezh-docker-ru.zip` или `melezh-docker-en.zip`) из релиза репозитория на Github. Архив необходимо распаковать, после чего запустить один из находящихся там скриптов установки - `bat` или `sh`, в зависимости от используемой ОС
<hr/>
## Windows
### Windows
Установка Melezh на Windows осуществляется в процессе установки `oint` - основного консольного приложения Открытого пакета интеграций. Достаточно скачать установщики `oint` из релиза репозитория [OpenIntegrations](https://github.com/Bayselonarrend/OpenIntegrations) (v >= 1.24.0), после чего, в процессе установки, поставить флажок на странице с вопросом о дополнительной установке Melezh:
@@ -61,11 +64,11 @@ Melezh совместим с любой версией `oint`, выше 1.24.0,
<hr/>
## Linux
### Linux
Для установки Melezh на устройствах с ОС Linux, в релизах репозитория Melezh присутствуют `.deb` и `.rpm` пакеты. Оба они зависят от пакета `oint`, который в соответствующих вариантах можно найти в релизах репозитория [OpenIntegrations](https://github.com/Bayselonarrend/OpenIntegrations)
Для установки Melezh на устройствах с ОС Linux, в релизах репозитория Melezh присутствуют `.deb` и `.rpm` пакеты. Оба они зависят от пакета `oint`, который в соответствующих (`.deb` или `.rpm`) вариантах можно найти в релизах репозитория [OpenIntegrations](https://github.com/Bayselonarrend/OpenIntegrations)
Как и в случае с пакетами для OneScript, важно соблюдать соответствие языков версий: русская версия Melezh может работать только в зависимости от русской версии OInt, а английская - в зависимости от английской
Как и в случае с пакетами для OneScript, важно соблюдать соответствие номеров и языковых версий
+1 -1
View File
@@ -2,7 +2,7 @@
id: Logging
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI]
title: Логирование
sidebar_position: 5
sidebar_position: 6
---
В этом разделе описаны возможности для настройки и использования встроенной системы сбора логов Melezh
@@ -2,7 +2,7 @@
id: Extensions-panel
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI]
title: Панель расширений
sidebar_position: 4
sidebar_position: 5
---
Далее идет **панель расширений**
+1 -1
View File
@@ -2,7 +2,7 @@
id: Settings-panel
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI]
title: Панель настроек
sidebar_position: 5
sidebar_position: 6
---
Последней панелью веб-интерфейса является **панель настроек**
+10327 -10327
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1 +1 @@
D8BC1499AEEDA09C9D2F1D7602EBC56089E77B29120ABE44FBB49081D26C9ECD
D5BF059745FD19246ACAA873DAF4338D71F5D2F0A01F5593101C5FF58195ED72
+1 -1
View File
@@ -1 +1 @@
D8BC1499AEEDA09C9D2F1D7602EBC56089E77B29120ABE44FBB49081D26C9ECD
D5BF059745FD19246ACAA873DAF4338D71F5D2F0A01F5593101C5FF58195ED72
@@ -32,7 +32,7 @@
Function GetHashSum() Export
LastBuildHash = "D8BC1499AEEDA09C9D2F1D7602EBC56089E77B29120ABE44FBB49081D26C9ECD";
LastBuildHash = "D5BF059745FD19246ACAA873DAF4338D71F5D2F0A01F5593101C5FF58195ED72";
Return LastBuildHash;
+1 -1
View File
@@ -32,7 +32,7 @@
Function GetHashSum() Export
LastBuildHash = "D8BC1499AEEDA09C9D2F1D7602EBC56089E77B29120ABE44FBB49081D26C9ECD";
LastBuildHash = "D5BF059745FD19246ACAA873DAF4338D71F5D2F0A01F5593101C5FF58195ED72";
Return LastBuildHash;
+1 -1
View File
@@ -1 +1 @@
D8BC1499AEEDA09C9D2F1D7602EBC56089E77B29120ABE44FBB49081D26C9ECD
D5BF059745FD19246ACAA873DAF4338D71F5D2F0A01F5593101C5FF58195ED72
+1 -1
View File
@@ -1 +1 @@
D8BC1499AEEDA09C9D2F1D7602EBC56089E77B29120ABE44FBB49081D26C9ECD
D5BF059745FD19246ACAA873DAF4338D71F5D2F0A01F5593101C5FF58195ED72
@@ -32,7 +32,7 @@
Function GetHashSum() Export
LastBuildHash = "D8BC1499AEEDA09C9D2F1D7602EBC56089E77B29120ABE44FBB49081D26C9ECD";
LastBuildHash = "D5BF059745FD19246ACAA873DAF4338D71F5D2F0A01F5593101C5FF58195ED72";
Return LastBuildHash;
@@ -32,7 +32,7 @@
Function GetHashSum() Export
LastBuildHash = "D8BC1499AEEDA09C9D2F1D7602EBC56089E77B29120ABE44FBB49081D26C9ECD";
LastBuildHash = "D5BF059745FD19246ACAA873DAF4338D71F5D2F0A01F5593101C5FF58195ED72";
Return LastBuildHash;
+1 -1
View File
@@ -1 +1 @@
D8BC1499AEEDA09C9D2F1D7602EBC56089E77B29120ABE44FBB49081D26C9ECD
D5BF059745FD19246ACAA873DAF4338D71F5D2F0A01F5593101C5FF58195ED72