diff --git a/README.md b/README.md index d994741..6903d5f 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,17 @@ Образ предназначен для автоматизации настройки окружения для сборки пакетов в Alpine Linux. Он создаёт пользователя, настраивает права, подключает NFS-сервер (если указан), управляет ключами для подписи пакетов и выполняет сборку пакетов с помощью утилиты abuild. +- [Сборка образа](#сборка-образа) + - [Использование](#использование) + - [Опции](#опции) + - [Примеры сборки образа](#примеры-сборки-образа) +- [Использование образа](#использование-образа) + - [Параметры запуска](#параметры-запуска) + - [Монтирование директорий](#монтирование-директорий) + - [Что происходит при запуске](#что-происходит-при-запуске) + - [Примеры сборки пакета](#примеры-сборки-пакета) + - [Дополнительно](#дополнительно) + ## Сборка образа Скрипт `build.sh` предназначен для автоматизации сборки и, при необходимости, отправки Docker-образов в указанный registry. Скрипт поддерживает настройку имени образа, версии, базового образа, выбор Dockerfile, а также указание дополнительных репозиториев и параметров registry. @@ -23,7 +34,7 @@ - `-p, --port`: Порт registry (по умолчанию `5000`). - `-h, --help`: Показать справку. -### Примеры использования: +### Примеры сборки образа: 1. **Простая сборка образа без отправки в registry**: ```bash @@ -127,7 +138,7 @@ docker run -it --rm \ - Выполняется команда `abuild -r` для сборки пакета. - Собранные пакеты сохраняются в `/repository/`. -### Примеры использования +### Примеры сборки пакета #### 1. Минимальный запуск (без NFS и ключей) Сборка пакета с использованием стандартных репозиториев и автоматической генерации ключей (без сохранения ключей): @@ -167,7 +178,7 @@ docker run -it --rm \ my-app:1.0.0 ``` ---- +### Дополнительно - **Сохранение ключей**: Если вы генерируете ключи внутри контейнера, сохраните их из директории `/keys` для повторного использования. - **Повторное использование контейнера**: Используйте одну и ту же директорию `/keys` и `/repository` для сохранения ключей и пакетов между запусками. diff --git a/build.sh b/build.sh index 8286cc9..ddec229 100755 --- a/build.sh +++ b/build.sh @@ -6,10 +6,10 @@ usage() { echo "🔧 Опции:" echo " -n, --name Имя собираемого образа (обязательно)" echo " -v, --version Версия собираемого образа в формате X.Y.Z (обязательно)" - echo " -b, --base-image-version Версия базового образа (обязательно)" - echo " -o, --old Использовать Dockerfile.20.10.20 (по умолчанию Dockerfile.27.3.1)" + echo " -b, --base-image-version Версия базового образа Alpine Linux (обязательно)" + echo " -o, --old Использовать метод сборки для устаревшей версии Docker" echo " -R, --repositories Список репозиториев для сборки (через точку с запятой)" - echo " -r, --push-to-registry Адрес registry для отправки образов (например, registry.example.com)" + echo " -r, --push-to-registry Адрес registry для отправки образов" echo " -p, --port Порт registry (по умолчанию 5000)" echo " -h, --help Показать эту справку" exit "$exit_code" diff --git a/docker/Dockerfile.20.10.20 b/docker/Dockerfile.20.10.20 index 9f75040..32149e2 100644 --- a/docker/Dockerfile.20.10.20 +++ b/docker/Dockerfile.20.10.20 @@ -16,7 +16,7 @@ ENV BUILDER_USER=builder \ NFS_PORT=5000 \ NFS_PATH= -COPY build-apk /usr/bin/build-apk +COPY apk-builder /usr/bin/apk-builder ARG REPOSITORIES @@ -26,6 +26,6 @@ RUN if [ ! -z "${REPOSITORIES}" ]; then \ apk update && \ apk upgrade --no-cache && \ apk add --no-cache build-base alpine-sdk abuild sudo git nfs-utils && \ - chmod 0755 /usr/bin/build-apk + chmod 0755 /usr/bin/apk-builder -ENTRYPOINT ["/usr/bin/build-apk"] +ENTRYPOINT ["/usr/bin/apk-builder"] diff --git a/docker/Dockerfile.27.3.1 b/docker/Dockerfile.27.3.1 index eabd732..6aab7ce 100644 --- a/docker/Dockerfile.27.3.1 +++ b/docker/Dockerfile.27.3.1 @@ -16,7 +16,7 @@ ENV BUILDER_USER=builder \ NFS_PORT=5000 \ NFS_PATH= -COPY --chmod=0755 build-apk /usr/bin/build-apk +COPY --chmod=0755 apk-builder /usr/bin/apk-builder ARG REPOSITORIES @@ -29,4 +29,4 @@ RUN <