Added build.sh with supporting amd64 riscv64 binaries #24
|
|
@ -2,4 +2,5 @@
|
||||||
.idea
|
.idea
|
||||||
/.env
|
/.env
|
||||||
Cargo.lock
|
Cargo.lock
|
||||||
hagent_test.sock
|
hagent_test.sock
|
||||||
|
release
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,75 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Скрипт для сборки и копирования бинарников
|
||||||
|
# Использование: ./build.sh <архитектура>
|
||||||
|
# Поддерживаемые архитектуры: amd64, riscv64
|
||||||
|
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
echo "Ошибка: Необходимо указать архитектуру (например, amd64 или riscv64)."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
ARCH="$1"
|
||||||
|
TARGET_DIR="release/${ARCH}"
|
||||||
|
CONTAINER_NAME="e-monitor"
|
||||||
|
|
||||||
|
SUPPORTED_ARCHS=("amd64" "riscv64")
|
||||||
|
if [[ ! " ${SUPPORTED_ARCHS[@]} " =~ " ${ARCH} " ]]; then
|
||||||
|
echo "Ошибка: Неизвестная архитектура $ARCH. Допустимые значения: ${SUPPORTED_ARCHS[*]}."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# На случай, если контейнер с таким именем уже существует
|
||||||
|
docker stop e-monitor && docker rm e-monitor
|
||||||
|
|
||||||
|
echo "Building Docker image..."
|
||||||
|
|
||||||
|
docker build --network=host -t e-monitor . || {
|
||||||
|
echo "Ошибка: Не удалось построить Docker-образ."
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "Running Docker container..."
|
||||||
|
|
||||||
|
docker run --name "$CONTAINER_NAME" --dns 8.8.8.8 --network=host e-monitor:latest || {
|
||||||
|
echo "Ошибка: Не удалось запустить Docker-контейнер."
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "Creating target directory: $TARGET_DIR"
|
||||||
|
mkdir -p "$TARGET_DIR"
|
||||||
|
|
||||||
|
case "$ARCH" in
|
||||||
|
amd64)
|
||||||
|
echo "Copying binaries for architecture: amd64"
|
||||||
|
docker cp "$CONTAINER_NAME:/usr/src/kii/target/x86_64-unknown-linux-gnu/release/noxis-cli" "$TARGET_DIR/" || {
|
||||||
|
echo "Ошибка: Не удалось скопировать noxis-cli для amd64."
|
||||||
|
docker stop "$CONTAINER_NAME" && docker rm "$CONTAINER_NAME"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
docker cp "$CONTAINER_NAME:/usr/src/kii/target/x86_64-unknown-linux-gnu/release/noxis-rs" "$TARGET_DIR/" || {
|
||||||
|
echo "Ошибка: Не удалось скопировать noxis-rs для amd64."
|
||||||
|
docker stop "$CONTAINER_NAME" && docker rm "$CONTAINER_NAME"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
;;
|
||||||
|
riscv64)
|
||||||
|
echo "Copying binaries for architecture: riscv64"
|
||||||
|
docker cp "$CONTAINER_NAME:/usr/src/kii/target/riscv64gc-unknown-linux-gnu/release/noxis-cli" "$TARGET_DIR/" || {
|
||||||
|
echo "Ошибка: Не удалось скопировать noxis-cli для riscv64."
|
||||||
|
docker stop "$CONTAINER_NAME" && docker rm "$CONTAINER_NAME"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
docker cp "$CONTAINER_NAME:/usr/src/kii/target/riscv64gc-unknown-linux-gnu/release/noxis-rs" "$TARGET_DIR/" || {
|
||||||
|
echo "Ошибка: Не удалось скопировать noxis-rs для riscv64."
|
||||||
|
docker stop "$CONTAINER_NAME" && docker rm "$CONTAINER_NAME"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo "Stopping and removing Docker container..."
|
||||||
|
docker stop "$CONTAINER_NAME" && docker rm "$CONTAINER_NAME"
|
||||||
|
|
||||||
|
echo "Build and extraction completed successfully for architecture: $ARCH"
|
||||||
|
exit 0
|
||||||
Loading…
Reference in New Issue