将代码与测试注释改为中文以符合仓库规范;新增中文部署指南、 示例配置,并完善构建脚本对 VERSION 注入的说明。 Co-authored-by: Cursor <cursoragent@cursor.com>
36 lines
1.2 KiB
Bash
Executable File
36 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
# 构建 mfd-monitor-agent 单二进制产物。
|
||
#
|
||
# 环境变量:
|
||
# OUT_DIR 输出目录,默认 <仓库根>/dist
|
||
# VERSION 写入二进制的版本号,默认 0.1.0(通过 -ldflags -X main.version)
|
||
# GOOS_TARGET 目标 GOOS,默认 linux
|
||
# GOARCH_TARGET 目标 GOARCH,默认 amd64
|
||
# OUTPUT_NAME 输出文件名,默认 agent-<GOOS>-<GOARCH>
|
||
# CGO_ENABLED 是否启用 CGO,默认 0(静态链接友好)
|
||
#
|
||
# 交叉编译 Windows 示例:
|
||
# GOOS_TARGET=windows GOARCH_TARGET=amd64 OUTPUT_NAME=agent-windows-amd64.exe ./scripts/build-linux.sh
|
||
#
|
||
set -euo pipefail
|
||
|
||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||
OUT_DIR="${OUT_DIR:-${ROOT_DIR}/dist}"
|
||
VERSION="${VERSION:-0.1.0}"
|
||
GOOS_TARGET="${GOOS_TARGET:-linux}"
|
||
GOARCH_TARGET="${GOARCH_TARGET:-amd64}"
|
||
OUTPUT_NAME="${OUTPUT_NAME:-agent-${GOOS_TARGET}-${GOARCH_TARGET}}"
|
||
|
||
mkdir -p "${OUT_DIR}"
|
||
|
||
CGO_ENABLED="${CGO_ENABLED:-0}" \
|
||
GOOS="${GOOS_TARGET}" \
|
||
GOARCH="${GOARCH_TARGET}" \
|
||
go build \
|
||
-trimpath \
|
||
-ldflags "-s -w -X main.version=${VERSION}" \
|
||
-o "${OUT_DIR}/${OUTPUT_NAME}" \
|
||
./cmd/agent
|
||
|
||
printf 'built %s\n' "${OUT_DIR}/${OUTPUT_NAME}"
|