небольшие правки
This commit is contained in:
parent
a6734d8fdd
commit
a495d9e3b2
5 changed files with 22 additions and 11 deletions
17
README.md
17
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/<REPOSITORY_NAME_DIR>`.
|
||||
|
||||
### Примеры использования
|
||||
### Примеры сборки пакета
|
||||
|
||||
#### 1. Минимальный запуск (без NFS и ключей)
|
||||
Сборка пакета с использованием стандартных репозиториев и автоматической генерации ключей (без сохранения ключей):
|
||||
|
@ -167,7 +178,7 @@ docker run -it --rm \
|
|||
my-app:1.0.0
|
||||
```
|
||||
|
||||
---
|
||||
### Дополнительно
|
||||
|
||||
- **Сохранение ключей**: Если вы генерируете ключи внутри контейнера, сохраните их из директории `/keys` для повторного использования.
|
||||
- **Повторное использование контейнера**: Используйте одну и ту же директорию `/keys` и `/repository` для сохранения ключей и пакетов между запусками.
|
||||
|
|
6
build.sh
6
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"
|
||||
|
|
|
@ -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"]
|
||||
|
|
|
@ -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 <<EOF
|
|||
apk add --no-cache build-base alpine-sdk abuild sudo git nfs-utils
|
||||
EOF
|
||||
|
||||
ENTRYPOINT ["/usr/bin/build-apk"]
|
||||
ENTRYPOINT ["/usr/bin/apk-builder"]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue