# 构建 mfd-monitor-agent 单二进制产物(Windows 目标)。 # # 环境变量: # OUT_DIR 输出目录,默认 <仓库根>\dist # VERSION 写入二进制的版本号,默认 0.1.0(通过 -ldflags -X main.version) # GOOS_TARGET 目标 GOOS,默认 windows # GOARCH_TARGET 目标 GOARCH,默认 amd64 # OUTPUT_NAME 输出文件名,默认 agent--.exe # CGO_ENABLED 是否启用 CGO,默认 0 # $ErrorActionPreference = "Stop" $RootDir = Resolve-Path (Join-Path $PSScriptRoot "..") $OutDir = if ($env:OUT_DIR) { $env:OUT_DIR } else { Join-Path $RootDir "dist" } $Version = if ($env:VERSION) { $env:VERSION } else { "0.1.0" } $GoosTarget = if ($env:GOOS_TARGET) { $env:GOOS_TARGET } else { "windows" } $GoarchTarget = if ($env:GOARCH_TARGET) { $env:GOARCH_TARGET } else { "amd64" } $OutputName = if ($env:OUTPUT_NAME) { $env:OUTPUT_NAME } else { "agent-$GoosTarget-$GoarchTarget.exe" } New-Item -ItemType Directory -Force -Path $OutDir | Out-Null $env:CGO_ENABLED = if ($env:CGO_ENABLED) { $env:CGO_ENABLED } else { "0" } $env:GOOS = $GoosTarget $env:GOARCH = $GoarchTarget go build ` -trimpath ` -ldflags "-s -w -X main.version=$Version" ` -o (Join-Path $OutDir $OutputName) ` ./cmd/agent Write-Host "built $(Join-Path $OutDir $OutputName)"