-
Notifications
You must be signed in to change notification settings - Fork 203
Expand file tree
/
Copy pathpackage.sh
More file actions
51 lines (41 loc) · 1.81 KB
/
Copy pathpackage.sh
File metadata and controls
51 lines (41 loc) · 1.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/bash
echo "开始构建 NginxPulse..."
export CGO_ENABLED=0
export GOOS="${GOOS:-$(go env GOOS)}"
export GOARCH="${GOARCH:-$(go env GOARCH)}"
echo "目标平台: ${GOOS}/${GOARCH}"
if [ -f "webapp/package.json" ]; then
echo "构建前端资源..."
(cd webapp && pnpm install --frozen-lockfile && pnpm run build) || {
echo "前端构建失败!"
exit 1
}
fi
echo "清理旧文件..."
mkdir -p bin
rm -f bin/nginxpulse
# 获取版本信息
BUILD_TIME=$(date "+%Y-%m-%d %H:%M:%S")
GIT_COMMIT=$(git rev-parse --short=7 HEAD 2>/dev/null || echo "unknown")
VERSION=${VERSION:-$(git describe --tags --abbrev=0 2>/dev/null || echo "dev")}
echo "版本信息:"
echo " - 版本号: ${VERSION}"
echo " - 构建时间: ${BUILD_TIME}"
echo " - Git提交: ${GIT_COMMIT}"
echo "编译主程序..."
go build -ldflags="-s -w -X 'github.com/likaia/nginxpulse/internal/version.Version=${VERSION}' -X 'github.com/likaia/nginxpulse/internal/version.BuildTime=${BUILD_TIME}' -X 'github.com/likaia/nginxpulse/internal/version.GitCommit=${GIT_COMMIT}'" -o bin/nginxpulse ./cmd/nginxpulse/main.go
if [ $? -eq 0 ]; then
echo "构建成功! 可执行文件: bin/nginxpulse"
# 显示文件大小
FILE_SIZE=$(du -h bin/nginxpulse | cut -f1)
echo "文件大小: ${FILE_SIZE}"
# 检查是否正确嵌入了资源
echo "验证资源嵌入..."
strings bin/nginxpulse | grep -q "<!DOCTYPE html>" && echo "✓ HTML资源已嵌入" || echo "✗ HTML资源可能未正确嵌入"
strings bin/nginxpulse | grep -q ".css" && echo "✓ CSS资源已嵌入" || echo "✗ CSS资源可能未正确嵌入"
strings bin/nginxpulse | grep -q ".js" && echo "✓ JS资源已嵌入" || echo "✗ JS资源可能未正确嵌入"
echo "构建完成,可执行文件已准备就绪"
else
echo "构建失败!"
exit 1
fi