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

43
v3.16/Dockerfile Normal file
View file

@ -0,0 +1,43 @@
FROM alpine:3.16.9
# Метаданные для CI/CD
LABEL maintainer="Alexander Zhirov <alexander@zhirov.kz>"
LABEL version="0.1.0"
LABEL description="Адаптированный для Docker <=20.10.20 образ сборщика APK-файлов для Alpine Linux 3.16.9"
# Задаем стандартные значения через переменные окружения
ENV USER=builder \
PACKAGE_DIR=/package \
NFS_SERVER= \
NFS_PATH= \
PRIVATE_KEY= \
PUBLIC_KEY= \
REPODEST_DIR=
# Копируем скрипт запуска в контейнер
COPY ../apk-build /usr/bin/apk-build
# Устанавливаем необходимые пакеты для сборки APK и NFS
RUN 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 build-base alpine-sdk abuild sudo git nfs-utils && \
adduser -D builder && \
addgroup builder abuild && \
echo "builder ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/builder && \
chmod 0755 /usr/bin/apk-build && \
mkdir /home/builder/package && \
chown builder:builder /home/builder/package
# Переключаемся на пользователя builder
USER builder
# Создаем рабочую директорию
WORKDIR /home/builder/package
# Указываем точку входа для CI/CD
ENTRYPOINT ["/usr/bin/apk-build"]
# Указываем команду по умолчанию с переменными окружения
CMD ["-p", "/package"]