41 lines
1.3 KiB
PowerShell
41 lines
1.3 KiB
PowerShell
# Cross-compile Linux agent (amd64 + arm64). Same as build_linux.sh.
|
|
# Usage: cd mengyamonitor-backend-client; .\build_linux.ps1
|
|
|
|
$ErrorActionPreference = "Stop"
|
|
$Root = $PSScriptRoot
|
|
Set-Location $Root
|
|
|
|
$name = if ($env:BINARY_NAME) { $env:BINARY_NAME } else { "mengyamonitor-agent" }
|
|
$out = if ($env:OUT_DIR) { $env:OUT_DIR } else { "dist" }
|
|
|
|
New-Item -ItemType Directory -Force -Path (Join-Path $out "linux_amd64"), (Join-Path $out "linux_arm64") | Out-Null
|
|
|
|
$env:CGO_ENABLED = "0"
|
|
|
|
Write-Host "==> linux/amd64 -> $out/linux_amd64/$name"
|
|
$env:GOOS = "linux"
|
|
$env:GOARCH = "amd64"
|
|
try {
|
|
$destAmd = Join-Path (Join-Path $out "linux_amd64") $name
|
|
go build -trimpath -ldflags="-s -w" -o $destAmd .
|
|
}
|
|
finally {
|
|
Remove-Item Env:GOOS, Env:GOARCH -ErrorAction SilentlyContinue
|
|
}
|
|
|
|
Write-Host "==> linux/arm64 -> $out/linux_arm64/$name"
|
|
$env:GOOS = "linux"
|
|
$env:GOARCH = "arm64"
|
|
try {
|
|
$destArm = Join-Path (Join-Path $out "linux_arm64") $name
|
|
go build -trimpath -ldflags="-s -w" -o $destArm .
|
|
}
|
|
finally {
|
|
Remove-Item Env:GOOS, Env:GOARCH -ErrorAction SilentlyContinue
|
|
}
|
|
|
|
Write-Host "Done."
|
|
$p1 = Join-Path (Join-Path $out "linux_amd64") $name
|
|
$p2 = Join-Path (Join-Path $out "linux_arm64") $name
|
|
Get-Item -LiteralPath $p1, $p2 | Format-Table -Property FullName, Length
|