@@ -0,0 +1,69 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 编译脚本 - 打包成服务端可执行文件
|
||||
|
||||
echo "开始编译 Go 项目..."
|
||||
|
||||
# 设置编译参数
|
||||
APP_NAME="software-download-center"
|
||||
VERSION=$(date +%Y%m%d_%H%M%S)
|
||||
BUILD_DIR="build"
|
||||
OUTPUT_DIR="${BUILD_DIR}/output"
|
||||
|
||||
# 创建输出目录
|
||||
mkdir -p ${OUTPUT_DIR}
|
||||
|
||||
# 编译不同平台的可执行文件
|
||||
echo "编译 Windows 版本..."
|
||||
GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o ${OUTPUT_DIR}/${APP_NAME}_windows_amd64.exe .
|
||||
|
||||
echo "编译 Linux 版本..."
|
||||
GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o ${OUTPUT_DIR}/${APP_NAME}_linux_amd64 .
|
||||
|
||||
echo "编译 macOS 版本..."
|
||||
GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w" -o ${OUTPUT_DIR}/${APP_NAME}_darwin_amd64 .
|
||||
GOOS=darwin GOARCH=arm64 go build -ldflags="-s -w" -o ${OUTPUT_DIR}/${APP_NAME}_darwin_arm64 .
|
||||
|
||||
# 复制必要文件
|
||||
echo "复制必要文件..."
|
||||
cp -r public ${OUTPUT_DIR}/ 2>/dev/null || true
|
||||
cp -r views ${OUTPUT_DIR}/ 2>/dev/null || true
|
||||
cp README.md ${OUTPUT_DIR}/ 2>/dev/null || true
|
||||
cp ADMIN.md ${OUTPUT_DIR}/ 2>/dev/null || true
|
||||
|
||||
# 创建启动脚本
|
||||
cat > ${OUTPUT_DIR}/start.sh << 'EOF'
|
||||
#!/bin/bash
|
||||
# Linux/macOS 启动脚本
|
||||
|
||||
PORT=${PORT:-3355}
|
||||
echo "启动服务器,端口: $PORT"
|
||||
export PORT=$PORT
|
||||
./software-download-center_linux_amd64
|
||||
EOF
|
||||
|
||||
cat > ${OUTPUT_DIR}/start.bat << 'EOF'
|
||||
@echo off
|
||||
REM Windows 启动脚本
|
||||
|
||||
set PORT=3355
|
||||
if not "%PORT%"=="" set PORT=%PORT%
|
||||
echo 启动服务器,端口: %PORT%
|
||||
set PORT=%PORT%
|
||||
software-download-center_windows_amd64.exe
|
||||
EOF
|
||||
|
||||
chmod +x ${OUTPUT_DIR}/start.sh
|
||||
chmod +x ${OUTPUT_DIR}/*.exe 2>/dev/null || true
|
||||
|
||||
echo ""
|
||||
echo "编译完成!"
|
||||
echo "输出目录: ${OUTPUT_DIR}"
|
||||
echo ""
|
||||
echo "可执行文件列表:"
|
||||
ls -lh ${OUTPUT_DIR}/*.exe ${OUTPUT_DIR}/*_linux_amd64 ${OUTPUT_DIR}/*_darwin_* 2>/dev/null | awk '{print $9, "(" $5 ")"}'
|
||||
echo ""
|
||||
echo "使用方法:"
|
||||
echo " Windows: 运行 start.bat 或直接运行 .exe 文件"
|
||||
echo " Linux: 运行 ./start.sh 或直接运行可执行文件"
|
||||
echo " macOS: 运行 ./start.sh 或直接运行可执行文件"
|
||||
Reference in New Issue
Block a user