@@ -0,0 +1,36 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
VERSION="${VERSION:-dev}"
|
||||
OUT_DIR="${OUT_DIR:-dist-release}"
|
||||
SKIP_FRONTEND="${SKIP_FRONTEND:-0}"
|
||||
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
OUT="$ROOT/$OUT_DIR"
|
||||
|
||||
if [[ "$SKIP_FRONTEND" != "1" ]]; then
|
||||
for app in admin portal; do
|
||||
web_dir="$ROOT/web/$app"
|
||||
if [[ ! -d "$web_dir/node_modules" ]]; then
|
||||
(cd "$web_dir" && npm install)
|
||||
fi
|
||||
(cd "$web_dir" && npm run build)
|
||||
done
|
||||
fi
|
||||
|
||||
mkdir -p "$OUT"
|
||||
|
||||
build_target() {
|
||||
local goos="$1"
|
||||
local goarch="$2"
|
||||
local name="$3"
|
||||
(cd "$ROOT" && \
|
||||
GOOS="$goos" GOARCH="$goarch" CGO_ENABLED=0 \
|
||||
go build -tags embed_web -buildvcs=false -trimpath -ldflags "-s -w -X ymhut-box/server/unified-management/internal/config.Version=$VERSION" \
|
||||
-o "$OUT/$name" ./cmd/unified-management)
|
||||
}
|
||||
|
||||
build_target windows amd64 ymhut-unified-management-windows-amd64.exe
|
||||
build_target linux amd64 ymhut-unified-management-linux-amd64
|
||||
build_target linux arm64 ymhut-unified-management-linux-arm64
|
||||
|
||||
echo "Built release binaries in $OUT"
|
||||
Reference in New Issue
Block a user