Update README.md

This commit is contained in:
Sergey Maslenkov 2024-09-12 11:31:03 +00:00
parent fc4146b073
commit 23a004b2a9

View File

@ -13,28 +13,17 @@
## Использование сборочного окружения ## Использование сборочного окружения
Собирается два образа контейнера, при этом образ `alt:pre-builder` используется в `builder/Dockerfile`. Собирается два образа контейнера, при этом образ `pre-builder` используется в `builder/Dockerfile`.
```shell
docker build -t alt:pre-builder pre-builder/
docker build -t alt:agent-builder builder/
```
Исходный код библиотек уже должен быть в `builder/libs` во время создания образа контейнера через `builder/Dockerfile`. По этой причине порядок создания образов для сборочного окружения может включать загрузку исходного кода собираемый библиотек из одного или нескольких репозиториев. В таком случае полный сценарий использования может выглядеть как: Исходный код библиотек уже должен быть в `builder/libs` во время создания образа контейнера через `builder/Dockerfile`. По этой причине порядок создания образов для сборочного окружения может включать загрузку исходного кода собираемый библиотек из одного или нескольких репозиториев. В таком случае полный сценарий использования может выглядеть как:
```shell ```shell
git clone --depth 1 https://git.peresvet.it/system-trace/agent-enviroments.git git clone --depth 1 https://git.peresvet.it/system-trace/agent-enviroments.git
cd agent-enviroments cd agent-enviroments
docker build -t alt:pre-builder pre-builder/ docker build -t registry.git.peresvet.it/system-trace/agent-enviroments:pre-builder pre-builder/
cd builder/libs docker build -t registry.git.peresvet.it/system-trace/agent-enviroments:agent-builder builder/
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` создаётся промежуточный/временный контейнер, из которого забираются собранные файлы библиотек для установки в итоговом образе `builder`. Т.е. исходный код библиотек и артефакты компиляции/сборки остаются в промежуточном контейнере и не попадают в образ собираемого `builder`.
Образ `alt:pre-builder` используется как отправная точка — это контейнер `ALTLinux p10` имеющий всё необходимое для сборки нужных библиотек. Образ `pre-builder` используется как отправная точка — это контейнер `ALTLinux` 8-й релиз `p10`-платформа имеющий всё необходимое для сборки нужных библиотек.