53 lines
1.5 KiB
Bash
53 lines
1.5 KiB
Bash
#!/bin/bash
|
|
|
|
# 项目名称
|
|
PROJECT="xk-websocket"
|
|
|
|
# 设置时间格式
|
|
TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S")
|
|
|
|
# 创建目标目录
|
|
DIST_DIR="dist"
|
|
mkdir -p $DIST_DIR
|
|
|
|
# 清理旧构建
|
|
echo "🧹 清理旧构建文件..."
|
|
find $DIST_DIR -name "${PROJECT}-*" -delete
|
|
|
|
echo "🚀 开始构建 ${PROJECT}..."
|
|
echo "⏰ 构建时间: $TIMESTAMP"
|
|
|
|
# 构建 Linux 版本
|
|
echo "🐧 构建 Linux (amd64) 版本..."
|
|
GOOS=linux GOARCH=amd64 go build -ldflags "-s -w" -o $DIST_DIR/${PROJECT}-linux-amd64-${TIMESTAMP} .
|
|
|
|
# 构建 Linux ARM 版本 (适合树莓派)
|
|
echo "🍓 构建 Linux (arm64) 版本..."
|
|
GOOS=linux GOARCH=arm64 go build -ldflags "-s -w" -o $DIST_DIR/${PROJECT}-linux-arm64-${TIMESTAMP} .
|
|
|
|
# 构建 Windows 版本
|
|
echo "🪟 构建 Windows (amd64) 版本..."
|
|
GOOS=windows GOARCH=amd64 go build -ldflags "-s -w" -o $DIST_DIR/${PROJECT}-windows-amd64-${TIMESTAMP}.exe .
|
|
|
|
# 压缩文件
|
|
echo "📦 压缩构建文件..."
|
|
pushd $DIST_DIR >/dev/null
|
|
|
|
# Linux amd64
|
|
tar -czf ${PROJECT}-linux-amd64-${TIMESTAMP}.tar.gz ${PROJECT}-linux-amd64-${TIMESTAMP}
|
|
rm ${PROJECT}-linux-amd64-${TIMESTAMP}
|
|
|
|
# Linux arm64
|
|
tar -czf ${PROJECT}-linux-arm64-${TIMESTAMP}.tar.gz ${PROJECT}-linux-arm64-${TIMESTAMP}
|
|
rm ${PROJECT}-linux-arm64-${TIMESTAMP}
|
|
|
|
# Windows
|
|
zip -q ${PROJECT}-windows-amd64-${TIMESTAMP}.zip ${PROJECT}-windows-amd64-${TIMESTAMP}.exe
|
|
rm ${PROJECT}-windows-amd64-${TIMESTAMP}.exe
|
|
|
|
popd >/dev/null
|
|
|
|
echo "✅ 构建完成!"
|
|
echo "📁 输出目录: $DIST_DIR"
|
|
echo "📦 生成文件:"
|
|
ls -lh $DIST_DIR/*${TIMESTAMP}* |