Added build.sh with supporting amd64 riscv64 binaries #24
|
|
@ -3,3 +3,4 @@
|
|||
/.env
|
||||
Cargo.lock
|
||||
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