[#50] x86机器使用qemu模拟方式安装部署arm版本安装包,当前未精简版,只有简单的node exporter功能,删减日志,GPU指标功能,仍使用Swarm组网
This commit is contained in:
@@ -45,8 +45,8 @@ Options:
|
||||
--master-offline Build master offline image (requires src/master/offline_wheels.tar.gz)
|
||||
--metric Build metric module images (ftp, prometheus, grafana, test nodes)
|
||||
--no-cache Build all images without using Docker layer cache
|
||||
--only LIST Comma-separated targets to build: core,master,metric,web,alert,sys,gpu_bundle,cpu_bundle,server_pkg,client_pkg,all
|
||||
--version DATE Date tag used by gpu_bundle/server_pkg/client_pkg (e.g. 20251112)
|
||||
--only LIST Comma-separated targets to build: core,master,metric,web,alert,sys,gpu_bundle,cpu_bundle,server_pkg,client_pkg,arm_server_pkg,arm_client_pkg,all
|
||||
--version DATE Date tag used by gpu_bundle/server_pkg/client_pkg/arm_server_pkg/arm_client_pkg (e.g. 20251112)
|
||||
--client-semver X.Y.Z Override client semver used in all-in-one-full artifact (optional)
|
||||
--cuda VER CUDA runtime version for NVIDIA base (default: 12.2.2)
|
||||
--tag-latest Also tag bundle image as :latest (for cpu_bundle only; default off)
|
||||
@@ -73,6 +73,8 @@ build_gpu_bundle=false
|
||||
build_cpu_bundle=false
|
||||
build_server_pkg=false
|
||||
build_client_pkg=false
|
||||
build_server_pkg_arm=false
|
||||
build_client_pkg_arm=false
|
||||
no_cache=false
|
||||
|
||||
bundle_date=""
|
||||
@@ -109,24 +111,28 @@ while [[ $# -gt 0 ]]; do
|
||||
echo "--only requires a target list" >&2; exit 1
|
||||
fi
|
||||
sel="$2"; shift 2
|
||||
# reset all, then enable selected
|
||||
build_core=false; build_master=false; build_metric=false; build_web=false; build_alert=false; build_sys=false; build_gpu_bundle=false; build_cpu_bundle=false; build_server_pkg=false; build_client_pkg=false
|
||||
# reset all, then enable selected
|
||||
build_core=false; build_master=false; build_metric=false; build_web=false; build_alert=false; build_sys=false; build_gpu_bundle=false; build_cpu_bundle=false; build_server_pkg=false; build_client_pkg=false; build_server_pkg_arm=false; build_client_pkg_arm=false
|
||||
IFS=',' read -ra parts <<< "$sel"
|
||||
for p in "${parts[@]}"; do
|
||||
case "$p" in
|
||||
core) build_core=true ;;
|
||||
master) build_master=true ;;
|
||||
metric) build_metric=true ;;
|
||||
web) build_web=true ;;
|
||||
alert) build_alert=true ;;
|
||||
sys) build_sys=true ;;
|
||||
gpu_bundle) build_gpu_bundle=true ;;
|
||||
cpu_bundle) build_cpu_bundle=true ;;
|
||||
server_pkg) build_server_pkg=true; build_core=true; build_master=true; build_metric=true; build_web=true; build_alert=true ;;
|
||||
client_pkg) build_client_pkg=true ;;
|
||||
all) build_core=true; build_master=true; build_metric=true; build_web=true; build_alert=true; build_sys=true ;;
|
||||
*) echo "Unknown --only target: $p" >&2; exit 1 ;;
|
||||
esac
|
||||
case "$p" in
|
||||
core) build_core=true ;;
|
||||
master) build_master=true ;;
|
||||
metric) build_metric=true ;;
|
||||
web) build_web=true ;;
|
||||
alert) build_alert=true ;;
|
||||
sys) build_sys=true ;;
|
||||
gpu_bundle) build_gpu_bundle=true ;;
|
||||
cpu_bundle) build_cpu_bundle=true ;;
|
||||
# 在 ARM 构建脚本中,server_pkg 视作 arm_server_pkg 的别名,避免误用 x86 打包逻辑
|
||||
server_pkg) build_server_pkg_arm=true; build_core=true; build_master=true; build_metric=true; build_web=true; build_alert=true ;;
|
||||
# 在 ARM 构建脚本中,client_pkg 视作 arm_client_pkg 的别名,避免误用 x86 打包逻辑
|
||||
client_pkg) build_client_pkg_arm=true; build_sys=true ;;
|
||||
arm_server_pkg) build_server_pkg_arm=true; build_core=true; build_master=true; build_metric=true; build_web=true; build_alert=true ;;
|
||||
arm_client_pkg) build_client_pkg_arm=true; build_sys=true ;;
|
||||
all) build_core=true; build_master=true; build_metric=true; build_web=true; build_alert=true; build_sys=true ;;
|
||||
*) echo "Unknown --only target: $p" >&2; exit 1 ;;
|
||||
esac
|
||||
done
|
||||
;;
|
||||
--version)
|
||||
@@ -169,12 +175,12 @@ fi
|
||||
cd "$root"
|
||||
|
||||
# Set default image tag policy before building
|
||||
if [[ "$build_server_pkg" == true ]]; then
|
||||
if [[ "$build_server_pkg" == true || "$build_client_pkg" == true || "$build_server_pkg_arm" == true || "$build_client_pkg_arm" == true ]]; then
|
||||
DEFAULT_IMAGE_TAG="${bundle_date:-latest}"
|
||||
fi
|
||||
|
||||
# Select build user profile for pkg vs default
|
||||
if [[ "$build_server_pkg" == true || "$build_client_pkg" == true ]]; then
|
||||
if [[ "$build_server_pkg" == true || "$build_client_pkg" == true || "$build_server_pkg_arm" == true || "$build_client_pkg_arm" == true ]]; then
|
||||
export ARGUS_BUILD_PROFILE=pkg
|
||||
fi
|
||||
|
||||
@@ -902,6 +908,44 @@ if [[ "$build_client_pkg" == true ]]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
# ARM 专用:Server/Client 部署包
|
||||
if [[ "$build_server_pkg_arm" == true ]]; then
|
||||
if [[ -z "$bundle_date" ]]; then
|
||||
echo "❌ arm_server_pkg requires --version YYYYMMDD" >&2
|
||||
build_failed=true
|
||||
else
|
||||
echo ""
|
||||
echo "🧳 Building ARM Server package..."
|
||||
if ! "$root/deployment_new/build/make_arm_server_package.sh" --version "$bundle_date"; then
|
||||
build_failed=true
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$build_client_pkg_arm" == true ]]; then
|
||||
if [[ -z "$bundle_date" ]]; then
|
||||
echo "❌ arm_client_pkg requires --version YYYYMMDD" >&2
|
||||
build_failed=true
|
||||
else
|
||||
echo ""
|
||||
echo "🧳 Building ARM Client-CPU package..."
|
||||
cpu_repo="argus-sys-metric-test-node-arm64"
|
||||
cpu_image_arg="$cpu_repo:latest"
|
||||
# 若已存在 :<version>,优先使用;否则退回 latest 交由打包脚本打 tag
|
||||
if docker image inspect "${cpu_repo}:${bundle_date}" >/dev/null 2>&1; then
|
||||
cpu_image_arg="${cpu_repo}:${bundle_date}"
|
||||
elif ! docker image inspect "${cpu_repo}:latest" >/dev/null 2>&1; then
|
||||
echo "❌ required CPU node image missing: ${cpu_repo}:{${bundle_date},latest}" >&2
|
||||
build_failed=true
|
||||
fi
|
||||
if [[ "$build_failed" != "true" ]]; then
|
||||
if ! "$root/deployment_new/build/make_arm_client_package.sh" --version "$bundle_date" --image "$cpu_image_arg"; then
|
||||
build_failed=true
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "======================================="
|
||||
echo "📦 Build Summary"
|
||||
echo "======================================="
|
||||
|
||||
Reference in New Issue
Block a user