[#29] 整合metric模块端到端测试跑通;整合web/alert模块镜像构建
This commit is contained in:
@@ -22,6 +22,24 @@ ensure_image() {
|
||||
}
|
||||
|
||||
echo "[INFO] Preparing directories..."
|
||||
ensure_writable_dir() {
|
||||
local path="$1"
|
||||
local parent
|
||||
parent="$(dirname "$path")"
|
||||
mkdir -p "$parent" 2>/dev/null || true
|
||||
mkdir -p "$path" 2>/dev/null || true
|
||||
if [[ ! -w "$path" ]]; then
|
||||
docker run --rm -v "$parent:/target" ubuntu:24.04 bash -lc "chown -R $(id -u):$(id -g) /target" >/dev/null 2>&1 || true
|
||||
fi
|
||||
mkdir -p "$path"
|
||||
}
|
||||
|
||||
# preflight: make base dirs writable if inherited from root-owned mounts
|
||||
ensure_writable_dir "$PRIVATE_CORE/argus"
|
||||
ensure_writable_dir "$PRIVATE_CORE/argus/metric"
|
||||
ensure_writable_dir "$PRIVATE_CORE/argus/metric/grafana"
|
||||
ensure_writable_dir "$PRIVATE_CORE/argus/metric/prometheus"
|
||||
|
||||
mkdir -p \
|
||||
"$PRIVATE_CORE/argus/etc" \
|
||||
"$PRIVATE_CORE/argus/bind" \
|
||||
@@ -57,6 +75,8 @@ chown -R "${ARGUS_BUILD_UID}:${ARGUS_BUILD_GID}" \
|
||||
"$PRIVATE_CORE/argus/agent" \
|
||||
"$PRIVATE_CORE/argus/etc" 2>/dev/null || true
|
||||
|
||||
echo "[INFO] Using compose-managed network (auto-created by docker compose)"
|
||||
|
||||
echo "[INFO] Distributing update-dns.sh for core services (bind/master/es/kibana)"
|
||||
BIND_UPDATE_SRC="$REPO_ROOT/src/bind/build/update-dns.sh"
|
||||
BIND_UPDATE_DEST="$PRIVATE_CORE/argus/etc/update-dns.sh"
|
||||
@@ -75,8 +95,6 @@ ensure_image "argus-master:latest"
|
||||
ensure_image "argus-metric-ftp:latest"
|
||||
ensure_image "argus-metric-prometheus:latest"
|
||||
ensure_image "argus-metric-grafana:latest"
|
||||
ensure_image "argus-metric-test-node:latest"
|
||||
ensure_image "argus-metric-test-gpu-node:latest"
|
||||
|
||||
echo "[INFO] Building agent binary..."
|
||||
pushd "$REPO_ROOT/src/agent" >/dev/null
|
||||
@@ -91,19 +109,25 @@ fi
|
||||
echo "$AGENT_BIN" > "$TMP_DIR/agent_binary_path"
|
||||
|
||||
# 检测GPU环境
|
||||
echo "[INFO] 检测GPU环境..."
|
||||
REQUEST_GPU=${ARGUS_SYS_ENABLE_GPU:-false}
|
||||
GPU_CHECK_SCRIPT="$REPO_ROOT/src/metric/tests/scripts/common/check-gpu.sh"
|
||||
if [ -f "$GPU_CHECK_SCRIPT" ]; then
|
||||
if [[ "$REQUEST_GPU" == "true" ]]; then
|
||||
echo "[INFO] --enable-gpu 已启用,开始检测GPU环境..."
|
||||
if [[ -f "$GPU_CHECK_SCRIPT" ]]; then
|
||||
if bash "$GPU_CHECK_SCRIPT" >/dev/null 2>&1; then
|
||||
echo "[INFO] GPU环境可用,将启动test-gpu-node容器"
|
||||
GPU_AVAILABLE=true
|
||||
echo "[INFO] GPU环境可用,将在 compose 中启用 test-gpu-node"
|
||||
GPU_AVAILABLE=true
|
||||
else
|
||||
echo "[INFO] GPU环境不可用,跳过test-gpu-node容器"
|
||||
GPU_AVAILABLE=false
|
||||
echo "[ERROR] 未检测到可用 GPU,但指定了 --enable-gpu" >&2
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "[ERROR] 未找到 GPU 检测脚本: $GPU_CHECK_SCRIPT" >&2
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "[WARN] 未找到GPU检测脚本: $GPU_CHECK_SCRIPT,跳过GPU检测"
|
||||
GPU_AVAILABLE=false
|
||||
GPU_AVAILABLE=false
|
||||
echo "[INFO] GPU 支持未启用,跳过 GPU 检测"
|
||||
fi
|
||||
|
||||
echo "[INFO] Writing .env with UID/GID and metric configuration"
|
||||
@@ -112,7 +136,7 @@ ARGUS_BUILD_UID=$ARGUS_BUILD_UID
|
||||
ARGUS_BUILD_GID=$ARGUS_BUILD_GID
|
||||
|
||||
# GPU 配置
|
||||
GPU_AVAILABLE=$GPU_AVAILABLE
|
||||
ENABLE_GPU=$GPU_AVAILABLE
|
||||
|
||||
# FTP 配置
|
||||
FTP_PORT=21
|
||||
|
||||
Reference in New Issue
Block a user