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"]
 |