feat():learning后台管理项目初始化
This commit is contained in:
49
build.sh
Normal file
49
build.sh
Normal 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
|
||||
|
||||
Reference in New Issue
Block a user