30 lines
3.2 KiB
Markdown
30 lines
3.2 KiB
Markdown
|
||
## Описание содержимого
|
||
|
||
### Сборочное окружение агентской части
|
||
|
||
Выполняет компиляцию и установку библиотек отсутствующих в репозиториях `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`-платформа имеющий всё необходимое для сборки нужных библиотек.
|