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