Фикс с ключами
This commit is contained in:
parent
72901d7978
commit
1c6fa0002f
4 changed files with 27 additions and 17 deletions
24
apk-build
24
apk-build
|
@ -24,6 +24,7 @@ usage() {
|
|||
: "${PRIVATE_KEY:=}"
|
||||
: "${PUBLIC_KEY:=}"
|
||||
: "${REPODEST_DIR:=}"
|
||||
: "${NAME_KEY:=builder}"
|
||||
PACKAGES_DIR="/home/builder/packages"
|
||||
NFS_ENABLED=0
|
||||
|
||||
|
@ -36,6 +37,7 @@ while [ $# -gt 0 ]; do
|
|||
-r) PRIVATE_KEY="$2"; shift 2 ;;
|
||||
-u) PUBLIC_KEY="$2"; shift 2 ;;
|
||||
-d) REPODEST_DIR="$2"; shift 2 ;;
|
||||
-k) NAME_KEY="$2"; shift 2 ;;
|
||||
*) echo "🚫 Ошибка: Неизвестный флаг $1"; usage ;;
|
||||
esac
|
||||
done
|
||||
|
@ -80,49 +82,45 @@ if [ -n "$PRIVATE_KEY" ] || [ -n "$PUBLIC_KEY" ]; then
|
|||
# Создаем директорию .abuild
|
||||
mkdir -p /home/builder/.abuild
|
||||
# Записываем abuild.conf
|
||||
echo 'PACKAGER_PRIVKEY="/home/builder/.abuild/packager.rsa"' > /home/builder/.abuild/abuild.conf
|
||||
echo "PACKAGER_PRIVKEY=\"/home/builder/.abuild/$NAME_KEY.rsa\"" > /home/builder/.abuild/abuild.conf
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "🚫 Ошибка при записи abuild.conf"
|
||||
exit 1
|
||||
fi
|
||||
# Записываем приватный ключ
|
||||
echo "$PRIVATE_KEY" > /home/builder/.abuild/packager.rsa
|
||||
echo "$PRIVATE_KEY" > /home/builder/.abuild/$NAME_KEY.rsa
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "🚫 Ошибка при записи приватного ключа"
|
||||
exit 1
|
||||
fi
|
||||
# Записываем публичный ключ
|
||||
echo "$PUBLIC_KEY" > /home/builder/.abuild/packager.rsa.pub
|
||||
echo "$PUBLIC_KEY" > /home/builder/.abuild/$NAME_KEY.rsa.pub
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "🚫 Ошибка при записи публичного ключа"
|
||||
exit 1
|
||||
fi
|
||||
# Устанавливаем права доступа
|
||||
chmod 600 /home/builder/.abuild/packager.rsa
|
||||
chmod 644 /home/builder/.abuild/packager.rsa.pub /home/builder/.abuild/abuild.conf
|
||||
chmod 600 /home/builder/.abuild/$NAME_KEY.rsa
|
||||
chmod 644 /home/builder/.abuild/$NAME_KEY.rsa.pub /home/builder/.abuild/abuild.conf
|
||||
# Копирование ключа для apk менеджера
|
||||
sudo cp -v /home/builder/.abuild/$NAME_KEY.rsa.pub /etc/apk/keys/
|
||||
echo "✅ Ключи abuild успешно настроены"
|
||||
else
|
||||
# Если ключи не переданы, проверяем существующие или генерируем новые
|
||||
if [ ! -f "/home/builder/.abuild/abuild.conf" ]; then
|
||||
echo "🔑 Генерирую новые ключи для abuild..."
|
||||
abuild-keygen -a -i -n
|
||||
echo "/home/builder/.abuild/$NAME_KEY.rsa" | abuild-keygen -a -i
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "🚫 Ошибка при генерации ключей abuild"
|
||||
exit 1
|
||||
fi
|
||||
echo "✅ Ключи abuild сгенерированы"
|
||||
else
|
||||
sudo cp -v /home/builder/.abuild/$NAME_KEY.rsa.pub /etc/apk/keys/
|
||||
echo "✅ Использую существующие ключи abuild"
|
||||
fi
|
||||
fi
|
||||
|
||||
cat /home/builder/.abuild/*.rsa.pub
|
||||
cat /home/builder/.abuild/*.rsa
|
||||
cat /home/builder/.abuild/abuild.conf
|
||||
|
||||
# Копирование ключа для apk менеджера
|
||||
sudo cp -v /home/builder/.abuild/*.rsa.pub /etc/apk/keys/
|
||||
|
||||
# Монтируем NFS-ресурс, если включен
|
||||
if [ "$NFS_ENABLED" -eq 1 ]; then
|
||||
echo "🔌 Монтирую NFS-ресурс $NFS_SERVER:$NFS_PATH в $PACKAGES_DIR..."
|
||||
|
|
10
build.sh
Executable file
10
build.sh
Executable file
|
@ -0,0 +1,10 @@
|
|||
#!/bin/sh
|
||||
|
||||
CUR_SCRIPT="$0"
|
||||
CUR_DIR="$(dirname "$CUR_SCRIPT")"
|
||||
|
||||
APK_BUILD_SCRIPT="$CUR_DIR/apk-build"
|
||||
|
||||
cp "$APK_BUILD_SCRIPT" "$CUR_DIR/v3.21"
|
||||
cd "$CUR_DIR/v3.21"
|
||||
docker build . -t apk-builder:3.21-r1
|
|
@ -12,10 +12,11 @@ ENV USER=builder \
|
|||
NFS_PATH= \
|
||||
PRIVATE_KEY= \
|
||||
PUBLIC_KEY= \
|
||||
REPODEST_DIR=
|
||||
REPODEST_DIR= \
|
||||
NAME_KEY=builder
|
||||
|
||||
# Копируем скрипт запуска в контейнер
|
||||
COPY ../apk-build /usr/bin/apk-build
|
||||
COPY apk-build /usr/bin/apk-build
|
||||
|
||||
# Устанавливаем необходимые пакеты для сборки APK и NFS
|
||||
RUN echo "http://mirror.yandex.ru/mirrors/alpine/v3.16/main" > /etc/apk/repositories && \
|
||||
|
|
|
@ -12,10 +12,11 @@ ENV USER=builder \
|
|||
NFS_PATH= \
|
||||
PRIVATE_KEY= \
|
||||
PUBLIC_KEY= \
|
||||
REPODEST_DIR=
|
||||
REPODEST_DIR= \
|
||||
NAME_KEY=builder
|
||||
|
||||
# Копируем скрипт запуска в контейнер
|
||||
COPY --chmod=0755 ../apk-build /usr/bin/apk-build
|
||||
COPY --chmod=0755 apk-build /usr/bin/apk-build
|
||||
|
||||
# Устанавливаем необходимые пакеты для сборки APK и NFS
|
||||
RUN <<EOF
|
Loading…
Add table
Add a link
Reference in a new issue