43 lines
1.6 KiB
Docker
43 lines
1.6 KiB
Docker
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"]
|