Files
mengyamonitor/mengyamonitor-backend-client/build_linux.sh
2026-05-16 19:03:34 +08:00

40 lines
1.2 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
# 一键交叉编译 Linux 采集端amd64 + arm64输出与 dist/install_mengyamonitor.sh 发布路径一致。
#
# 用法(在 mengyamonitor-backend-client 目录下):
# chmod +x build_linux.sh && ./build_linux.sh
#
# Windows: Git Bash 同上;或在项目目录执行: powershell -ExecutionPolicy Bypass -File .\build_linux.ps1
#
# 可选环境变量:
# BINARY_NAME 默认 mengyamonitor-agent
# OUT_DIR 默认 dist相对本脚本所在目录
set -euo pipefail
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$ROOT"
NAME="${BINARY_NAME:-mengyamonitor-agent}"
OUT="${OUT_DIR:-dist}"
mkdir -p "$OUT/linux_amd64" "$OUT/linux_arm64"
export CGO_ENABLED=0
echo "==> linux/amd64 -> $OUT/linux_amd64/$NAME"
GOOS=linux GOARCH=amd64 go build -trimpath -ldflags="-s -w" -o "$OUT/linux_amd64/$NAME" .
echo "==> linux/arm64 -> $OUT/linux_arm64/$NAME"
GOOS=linux GOARCH=arm64 go build -trimpath -ldflags="-s -w" -o "$OUT/linux_arm64/$NAME" .
echo "完成。产物:"
for arch in amd64 arm64; do
f="$OUT/linux_${arch}/$NAME"
if command -v ls >/dev/null 2>&1; then
ls -la "$f"
else
echo " $f"
fi
done