agent-enviroments/README.md
2024-09-12 11:31:03 +00:00

30 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## Описание содержимого
### Сборочное окружение агентской части
Выполняет компиляцию и установку библиотек отсутствующих в репозиториях `ALTLinux p10` подходящих версий. На выходе получается образ контейнера пригодный к использованию в качестве сборочной машины (билдера) для агентской части.
Список собираемых и устанавливаемых библиотек: `DPDK`, `Seastar`, `fmt` (оно же`libfmt`), `AMQP-CPP`.
### runtime-окружение агентской части
Контейнер содержащий необходимое для запуска агентской части может быть собран через `runtime/Dockerfile`.
Библиотеки собираемые и устанавливаемые при создании образа сборчного окружения (`builder/Dockerfile`) используются как статически линкуемые, т.е. нужны лишь при сборке агентской части.
## Использование сборочного окружения
Собирается два образа контейнера, при этом образ `pre-builder` используется в `builder/Dockerfile`.
Исходный код библиотек уже должен быть в `builder/libs` во время создания образа контейнера через `builder/Dockerfile`. По этой причине порядок создания образов для сборочного окружения может включать загрузку исходного кода собираемый библиотек из одного или нескольких репозиториев. В таком случае полный сценарий использования может выглядеть как:
```shell
git clone --depth 1 https://git.peresvet.it/system-trace/agent-enviroments.git
cd agent-enviroments
docker build -t registry.git.peresvet.it/system-trace/agent-enviroments:pre-builder pre-builder/
docker build -t registry.git.peresvet.it/system-trace/agent-enviroments:agent-builder builder/
```
### Описание процесса сборки образов
При сборке `builder/Dockerfile` создаётся промежуточный/временный контейнер, из которого забираются собранные файлы библиотек для установки в итоговом образе `builder`. Т.е. исходный код библиотек и артефакты компиляции/сборки остаются в промежуточном контейнере и не попадают в образ собираемого `builder`.
Образ `pre-builder` используется как отправная точка — это контейнер `ALTLinux` 8-й релиз `p10`-платформа имеющий всё необходимое для сборки нужных библиотек.