apk-builder/v.3.21/Dockerfile
2025-04-26 02:06:52 +03:00

42 lines
1.5 KiB
Docker
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

FROM alpine:3.16.9
# Метаданные для CI/CD
LABEL maintainer="Alexander Zhirov <alexander@zhirov.kz>"
LABEL version="0.1.0"
LABEL description="Адаптированный для Docker >=27.3.1 образ сборщика APK-файлов для Alpine Linux 3.16.9"
# Задаем стандартные значения через переменные окружения
ENV USER=builder \
PACKAGE_DIR=/package \
NFS_SERVER= \
NFS_PATH= \
PRIVATE_KEY= \
PUBLIC_KEY= \
REPODEST_DIR=
# Копируем скрипт запуска в контейнер
COPY --chmod=0755 ../apk-build /usr/bin/apk-build
# Устанавливаем необходимые пакеты для сборки APK и NFS
RUN <<EOF
echo "http://mirror.yandex.ru/mirrors/alpine/v3.16/main" > /etc/apk/repositories
echo "http://mirror.yandex.ru/mirrors/alpine/v3.16/community" >> /etc/apk/repositories
apk update
apk upgrade --no-cache
apk add --no-cache alpine-sdk abuild sudo git nfs-utils
adduser -D builder
addgroup builder abuild
echo "builder ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/builder
EOF
# Переключаемся на пользователя builder
USER builder
# Создаем рабочую директорию
WORKDIR /home/builder/package
# Указываем точку входа для CI/CD
ENTRYPOINT ["/usr/bin/apk-build"]
# Указываем команду по умолчанию с переменными окружения
CMD ["-p", "/package"]