docs: move build instructions to cli/README.md, keep main README lean

This commit is contained in:
Maksim Totmin 2026-06-24 11:17:41 +07:00
parent 28f5a407c9
commit a5e17bcdd8
2 changed files with 54 additions and 40 deletions

View File

@ -104,7 +104,8 @@ Zabbix агент по запросу сервера запускает скри
│ ├── __init__.py │ ├── __init__.py
│ └── test_scenario_runner.py # 48 тестов │ └── test_scenario_runner.py # 48 тестов
├── cli/ ├── cli/
│ └── pyproject.toml # Отдельная сборка: только ses-test │ ├── pyproject.toml # Отдельная сборка: только ses-test
│ └── README.md # Инструкции: установка, сборка бинарника
├── pyproject.toml # Зависимости и метаданные пакета ├── pyproject.toml # Зависимости и метаданные пакета
└── README.md └── README.md
``` ```
@ -220,45 +221,7 @@ ses-test my_scenario.yaml --ses-url http://ses-host:6190 --dry-run
Подробнее — см. раздел [«Как адаптировать под ваш проект»](#как-адаптировать-под-ваш-проект). Подробнее — см. раздел [«Как адаптировать под ваш проект»](#как-адаптировать-под-ваш-проект).
### Сборка исполняемого файла (без Python) Сборка в исполняемый файл — см. [cli/README.md](cli/README.md).
`ses-test` можно собрать в один бинарник (~11 MB), не требующий Python на целевой машине.
Сборка производится в чистом виртуальном окружении — чтобы в бинарник не попали
лишние системные пакеты (numpy, pillow и др.):
```bash
# 1. Клонируем репозиторий
git clone https://git.totmin.ru/en2zmax/ses-monitor.git
cd ses-monitor
# 2. Чистое окружение
python -m venv /tmp/build
/tmp/build/bin/pip install ./cli pyinstaller
# 3. Сборка
/tmp/build/bin/pyinstaller --onefile --name ses-test \
--paths src/ \
--hidden-import ses_monitor.utils \
--strip \
--exclude-module tkinter \
--exclude-module turtle \
--exclude-module sqlite3 \
--exclude-module curses \
--exclude-module idlelib \
--exclude-module pydoc \
--exclude-module venv \
--exclude-module ensurepip \
--exclude-module unittest \
--exclude-module test \
--exclude-module multiprocessing \
src/ses_monitor/cli.py
```
Готовый бинарник: `dist/ses-test` (~11 MB, Linux) или `dist/ses-test.exe` (Windows —
запустить те же команды на Windows).
Для сборки под другую ОС нужна эта ОС — PyInstaller не кросс-компилирует.
## Формат сценариев ## Формат сценариев

51
cli/README.md Normal file
View File

@ -0,0 +1,51 @@
# ses-test
CLI-утилита для пошагового тестирования YAML-сценариев SES.
## Установка
```bash
pip install "ses-test @ git+https://git.totmin.ru/en2zmax/ses-monitor.git#subdirectory=cli"
```
## Сборка исполняемого файла
Можно собрать `ses-test` в один бинарник (~11 MB), не требующий Python на целевой машине.
Сборка производится в чистом виртуальном окружении — чтобы в бинарник не попали лишние системные пакеты (numpy, pillow и др.):
```bash
# 1. Клонируем репозиторий
git clone https://git.totmin.ru/en2zmax/ses-monitor.git
cd ses-monitor
# 2. Чистое окружение
python -m venv /tmp/build
/tmp/build/bin/pip install ./cli pyinstaller
# 3. Сборка
/tmp/build/bin/pyinstaller --onefile --name ses-test \
--paths src/ \
--hidden-import ses_monitor.utils \
--strip \
--exclude-module tkinter \
--exclude-module turtle \
--exclude-module sqlite3 \
--exclude-module curses \
--exclude-module idlelib \
--exclude-module pydoc \
--exclude-module venv \
--exclude-module ensurepip \
--exclude-module unittest \
--exclude-module test \
--exclude-module multiprocessing \
src/ses_monitor/cli.py
```
Готовый бинарник: `dist/ses-test` (~11 MB, Linux) или `dist/ses-test.exe` (Windows — запустить те же команды на Windows).
Для сборки под другую ОС нужна эта ОС — PyInstaller не кросс-компилирует.
## Справка
Основная документация: [README.md](../README.md)