From 5d66a3292f39364bc5eb72ed7f7c0d1ee4772b07 Mon Sep 17 00:00:00 2001 From: Sergey Maslenkov Date: Tue, 10 Sep 2024 14:28:58 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D0=BF=D1=80=D0=B8=D0=BC=D0=B5=D1=80=20=D1=81=D1=86?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=D1=80=D0=B8=D1=8F=20=D0=B8=D1=81=D0=BF=D0=BE?= =?UTF-8?q?=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index a8dde21..d300598 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ ### runtime-окружение агентской части Контейнер содержащий необходимое для запуска агентской части может быть собран через `runtime/Dockerfile`. +Библиотеки собираемые и устанавливаемые при создании образа сборчного окружения (`builder/Dockerfile`) используются как статически линкуемые, т.е. нужны лишь при сборке агентской части. ## Использование сборочного окружения @@ -17,10 +18,23 @@ docker build -t alt:pre-builder pre-builder/ docker build -t alt:agent-builder builder/ ``` -Для сборки `builder/Dockerfile` исходный код библиотек должен быть в `builder/libs`. +Исходный код библиотек уже должен быть в `builder/libs` во время создания образа контейнера через `builder/Dockerfile`. По этой причине порядок создания образов для сборочного окружения может включать загрузку исходного кода собираемый библиотек из одного или нескольких репозиториев. В таком случае полный сценарий использования может выглядеть как: +```shell +git clone --depth 1 https://git.peresvet.it/system-trace/agent-enviroments.git +cd agent-enviroments +docker build -t alt:pre-builder pre-builder/ +cd builder/libs +git clone -b 11.0.2 --depth 1 https://github.com/fmtlib/fmt.git +git clone -b v4.3.26 --depth 1 https://github.com/CopernicaMarketingSoftware/AMQP-CPP.git +git clone --depth 1 https://github.com/scylladb/seastar.git +cd seastar +git submodule update --init --depth 1 +cd ../.. +docker build -t alt:agent-builder builder/ +``` -### Описание образов +### Описание процесса сборки образов -В процессе сборки `builder/Dockerfile` создаётся промежуточный/временный контейнер, из которого забираются результаты сборки для установки в итоговом образе. Исходный код библиотек и артефакты сборки остаются в промежуточном контейнере и не попадают в конечный образ контейнера. +При сборки `builder/Dockerfile` создаётся промежуточный/временный контейнер, из которого забираются результаты сборки для установки в итоговом образе. Исходный код библиотек и артефакты сборки остаются в промежуточном контейнере и не попадают в конечный образ контейнера. -Образ `alt:pre-builder` используется как отправная точка — это контейнер `ALTLinux p10` имеющий всё необходимое для сборки нужных библиотек. \ No newline at end of file +Образ `alt:pre-builder` используется как отправная точка — это контейнер `ALTLinux p10` имеющий всё необходимое для сборки нужных библиотек.