This commit is contained in:
Alexander Zhirov 2025-04-26 02:06:52 +03:00
commit 72901d7978
4 changed files with 281 additions and 0 deletions

42
v.3.21/Dockerfile Normal file
View file

@ -0,0 +1,42 @@
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"]