| builder | ||
| pre-builder | ||
| runtime | ||
| dev-inside-containers.md | ||
| README.md | ||
Описание содержимого
Сборочное окружение агентской части
Выполняет компиляцию и установку библиотек отсутствующих в репозиториях ALTLinux p10 подходящих версий. На выходе получается образ контейнера пригодный к использованию в качестве сборочной машины (билдера) для агентской части.
Список собираемых и устанавливаемых библиотек: DPDK, Seastar, fmt (оно жеlibfmt), AMQP-CPP.
runtime-окружение агентской части
Контейнер содержащий необходимое для запуска агентской части может быть собран через runtime/Dockerfile.
Библиотеки собираемые и устанавливаемые при создании образа сборчного окружения (builder/Dockerfile) используются как статически линкуемые, т.е. нужны лишь при сборке агентской части.
Использование сборочного окружения
Собирается два образа контейнера, при этом образ pre-builder используется в builder/Dockerfile.
Исходный код библиотек уже должен быть в builder/libs во время создания образа контейнера через builder/Dockerfile. По этой причине порядок создания образов для сборочного окружения может включать загрузку исходного кода собираемый библиотек из одного или нескольких репозиториев. В таком случае полный сценарий использования может выглядеть как:
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-платформа имеющий всё необходимое для сборки нужных библиотек.