feat():learning后台管理项目初始化

This commit is contained in:
yuj
2025-12-04 16:23:46 +08:00
parent 39886d50d2
commit 88e048f4d1
154 changed files with 28966 additions and 6 deletions

49
build.sh Normal file
View File

@@ -0,0 +1,49 @@
#!/bin/bash
# 检查命令行参数,获取环境名称。
# 示例:./build.sh dev 或 ./build.sh prod
ENV=$1
# 如果没有指定环境,默认使用 dev
if [ -z "$ENV" ]; then
echo "错误:必须指定一个环境参数 (例如: dev, test, prod)。"
echo "使用方法: $0 <环境>"
exit 1
fi
echo "开始构建,目标环境: $ENV"
# 根据环境设置不同的构建命令
if [ "$ENV" == "dev" ]; then
# Dev 环境的构建命令
go build -ldflags="-X 'main.env=dev'" -o ./tmp/goalfymax-admin ./cmd/server
elif [ "$ENV" == "test" ]; then
# Test 环境的构建命令
go build -ldflags="-X 'main.env=test'" -o ./tmp/goalfymax-admin ./cmd/server
else
# Prod 环境的构建命令
GOOS=linux GOARCH=amd64 go build -tags prod -ldflags="-X 'main.env=prod'" -o goalfymax-admin ./cmd/server
fi
# 检查上一个命令go build的退出状态。
# $? 是一个特殊变量,表示上一个命令的退出状态码。
# 0 表示成功非0表示失败。
if [ $? -eq 0 ]; then
echo "构建成功!"
# 只有在生产环境下才重启服务
if [ "$ENV" == "prod" ]; then
# echo "暂时将本地构建的文件移动到远程服务器"
# scp ./goalfymax-admin root@44.247.156.94:/data/modules/goalfymax-admin
echo "正在重启服务..."
supervisorctl restart goalfymax-admin
echo "服务重启命令已发送。"
else
echo "非生产环境,将工作目录切换到 ./tmp 并启动程序..."
cd ./tmp
./goalfymax-admin --env $ENV
fi
else
echo "构建失败,服务未重启。"
exit 1
fi