1. 配置文件不包含 *example 文件 2. scripts 目录迁移到项目根目录 3. env.properties 迁移到 scripts 目录 4. MAIN_CLASS 参数迁移到 service.properties 5. assembly.xml 更新脚本和配置文件路径 6. 添加前端打包脚本: - build-web.sh: 管理后台打包 - build-mobile.sh: 移动端H5打包 - build-all.sh: 全量打包 7. 更新 .gitignore 忽略配置
82 lines
2.6 KiB
Bash
Executable File
82 lines
2.6 KiB
Bash
Executable File
#!/bin/bash
|
|
# ====================================================
|
|
# 工作日志服务平台 - 全量打包脚本
|
|
# ====================================================
|
|
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
|
|
DEPLOY_DIR="${PROJECT_ROOT}/deploy"
|
|
|
|
# 颜色定义
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m' # No Color
|
|
|
|
echo -e "${BLUE}=========================================${NC}"
|
|
echo -e "${BLUE}工作日志服务平台 - 全量打包${NC}"
|
|
echo -e "${BLUE}=========================================${NC}"
|
|
|
|
# 清理 deploy 目录下的旧构建产物
|
|
echo -e "${YELLOW}清理旧构建产物...${NC}"
|
|
rm -rf ${DEPLOY_DIR}/worklog-api
|
|
rm -rf ${DEPLOY_DIR}/worklog-api.tar.gz
|
|
rm -rf ${DEPLOY_DIR}/worklog-web
|
|
rm -rf ${DEPLOY_DIR}/worklog-mobile
|
|
|
|
# 1. 打包后端 API
|
|
echo ""
|
|
echo -e "${GREEN}[1/3] 打包后端 API...${NC}"
|
|
cd "${PROJECT_ROOT}/worklog-api"
|
|
mvn clean package -DskipTests -q
|
|
|
|
# 检查后端打包结果
|
|
if [ ! -f "${DEPLOY_DIR}/worklog-api.tar.gz" ]; then
|
|
echo -e "${RED}ERROR: 后端打包失败${NC}"
|
|
exit 1
|
|
fi
|
|
API_SIZE=$(du -sh ${DEPLOY_DIR}/worklog-api.tar.gz | cut -f1)
|
|
echo -e "${GREEN}后端打包完成: ${API_SIZE}${NC}"
|
|
|
|
# 2. 打包管理后台前端
|
|
echo ""
|
|
echo -e "${GREEN}[2/3] 打包管理后台前端...${NC}"
|
|
"${SCRIPT_DIR}/build-web.sh"
|
|
|
|
# 部署到 deploy 目录
|
|
mkdir -p ${DEPLOY_DIR}/worklog-web
|
|
cp -r ${PROJECT_ROOT}/worklog-web/dist/* ${DEPLOY_DIR}/worklog-web/
|
|
WEB_SIZE=$(du -sh ${DEPLOY_DIR}/worklog-web | cut -f1)
|
|
echo -e "${GREEN}管理后台打包完成: ${WEB_SIZE}${NC}"
|
|
|
|
# 3. 打包移动端 H5
|
|
echo ""
|
|
echo -e "${GREEN}[3/3] 打包移动端H5前端...${NC}"
|
|
"${SCRIPT_DIR}/build-mobile.sh"
|
|
|
|
# 部署到 deploy 目录
|
|
mkdir -p ${DEPLOY_DIR}/worklog-mobile
|
|
cp -r ${PROJECT_ROOT}/worklog-mobile/dist/* ${DEPLOY_DIR}/worklog-mobile/
|
|
MOBILE_SIZE=$(du -sh ${DEPLOY_DIR}/worklog-mobile | cut -f1)
|
|
echo -e "${GREEN}移动端H5打包完成: ${MOBILE_SIZE}${NC}"
|
|
|
|
# 输出汇总
|
|
echo ""
|
|
echo -e "${GREEN}=========================================${NC}"
|
|
echo -e "${GREEN}全量打包完成!${NC}"
|
|
echo -e "${GREEN}=========================================${NC}"
|
|
echo -e "输出目录: ${DEPLOY_DIR}/"
|
|
echo ""
|
|
echo -e "产物列表:"
|
|
echo -e " - worklog-api.tar.gz (${API_SIZE})"
|
|
echo -e " - worklog-web/ (${WEB_SIZE})"
|
|
echo -e " - worklog-mobile/ (${MOBILE_SIZE})"
|
|
echo ""
|
|
echo -e "部署命令示例:"
|
|
echo -e " scp ${DEPLOY_DIR}/worklog-api.tar.gz user@server:/opt/worklog/"
|
|
echo -e " scp -r ${DEPLOY_DIR}/worklog-web user@server:/opt/worklog/"
|
|
echo -e " scp -r ${DEPLOY_DIR}/worklog-mobile user@server:/opt/worklog/"
|