修改部署方案
This commit is contained in:
parent
94253125ba
commit
2263def880
92
deploy/simple/BUILD-GUIDE.md
Normal file
92
deploy/simple/BUILD-GUIDE.md
Normal file
@ -0,0 +1,92 @@
|
||||
# QAUP 构建打包指南
|
||||
|
||||
## 方案:macOS构建 + Ubuntu打包
|
||||
|
||||
### 开发环境操作(macOS)
|
||||
|
||||
#### 1. 构建jar文件
|
||||
```bash
|
||||
# 在项目根目录
|
||||
mvn clean package -DskipTests
|
||||
```
|
||||
|
||||
#### 2. 上传jar文件到打包服务器
|
||||
```bash
|
||||
# 方式一:使用scp
|
||||
scp qaup-admin/target/qaup-admin.jar code@your-server:/home/code/apps/QAUP_Management/qaup-admin/target/
|
||||
|
||||
# 方式二:使用自动化脚本(需要先配置服务器信息)
|
||||
./deploy/simple/build-and-upload.sh
|
||||
```
|
||||
|
||||
### 打包服务器操作(Ubuntu)
|
||||
|
||||
#### 1. 确认jar文件已上传
|
||||
```bash
|
||||
ls -la qaup-admin/target/qaup-admin.jar
|
||||
```
|
||||
|
||||
#### 2. 执行打包
|
||||
```bash
|
||||
./deploy/simple/package-server.sh
|
||||
```
|
||||
|
||||
#### 3. 下载部署包
|
||||
```bash
|
||||
# 生成的文件类似:qaup-deploy-20250105-143022.zip
|
||||
ls -la qaup-deploy-*.zip
|
||||
```
|
||||
|
||||
## 日常更新流程
|
||||
|
||||
### 程序更新(推荐)
|
||||
```bash
|
||||
# macOS开发环境
|
||||
mvn clean package -DskipTests
|
||||
scp qaup-admin/target/qaup-admin.jar production-server:/path/to/qaup-deploy/new-app.jar
|
||||
|
||||
# 生产服务器
|
||||
cd qaup-deploy
|
||||
./update.sh
|
||||
```
|
||||
|
||||
### 完整重新部署
|
||||
```bash
|
||||
# macOS → 打包服务器 → 生产服务器
|
||||
# 按照上述完整流程操作
|
||||
```
|
||||
|
||||
## 服务器配置要求
|
||||
|
||||
### 打包服务器(Ubuntu)
|
||||
- ✅ Docker已安装
|
||||
- ✅ 网络连接正常(拉取镜像)
|
||||
- ✅ 足够磁盘空间(约2GB)
|
||||
|
||||
### 生产服务器(Ubuntu)
|
||||
- ✅ Docker已安装
|
||||
- ✅ 解压工具(unzip)
|
||||
|
||||
## 故障排除
|
||||
|
||||
### Q: Docker拉取镜像很慢
|
||||
A: 使用国内镜像加速器,脚本已配置daocloud加速器
|
||||
|
||||
### Q: jar文件上传失败
|
||||
A: 检查网络连接和服务器路径是否正确
|
||||
|
||||
### Q: 打包过程中断
|
||||
A: 重新运行package-server.sh脚本,会自动清理并重新开始
|
||||
|
||||
## 脚本说明
|
||||
|
||||
### 开发环境脚本:
|
||||
- `build-and-upload.sh` - 自动构建和上传(需配置服务器信息)
|
||||
- 手动操作:`mvn package` + `scp`
|
||||
|
||||
### 打包服务器脚本:
|
||||
- `package-server.sh` - 使用已有jar文件进行打包
|
||||
|
||||
### 生产服务器脚本:
|
||||
- `deploy.sh` - 首次部署
|
||||
- `update.sh` - 程序更新
|
||||
65
deploy/simple/build-and-upload.sh
Normal file
65
deploy/simple/build-and-upload.sh
Normal file
@ -0,0 +1,65 @@
|
||||
#!/bin/bash
|
||||
|
||||
# QAUP macOS构建和上传脚本
|
||||
# 在macOS开发环境运行,构建jar并上传到打包服务器
|
||||
|
||||
set -e
|
||||
|
||||
# 配置打包服务器信息(请根据实际情况修改)
|
||||
PACK_SERVER_HOST="10.0.0.58"
|
||||
PACK_SERVER_USER="code"
|
||||
PACK_SERVER_PATH="/home/code/apps/QAUP_Management"
|
||||
|
||||
# 颜色输出
|
||||
GREEN='\033[0;32m'
|
||||
BLUE='\033[0;34m'
|
||||
RED='\033[0;31m'
|
||||
NC='\033[0m'
|
||||
|
||||
print_message() {
|
||||
echo -e "${1}${2}${NC}"
|
||||
}
|
||||
|
||||
print_message $BLUE "=== QAUP macOS构建和上传脚本 ==="
|
||||
|
||||
# 1. 构建应用
|
||||
print_message $BLUE "构建应用..."
|
||||
mvn clean package -DskipTests -q
|
||||
|
||||
# 检查构建结果
|
||||
JAR_FILE="qaup-admin/target/qaup-admin.jar"
|
||||
if [ ! -f "$JAR_FILE" ]; then
|
||||
print_message $RED "❌ jar文件构建失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
print_message $GREEN "✓ jar文件构建成功"
|
||||
|
||||
# 2. 上传jar文件到打包服务器
|
||||
print_message $BLUE "上传jar文件到打包服务器..."
|
||||
|
||||
# 检查是否配置了服务器信息
|
||||
if [ "$PACK_SERVER_HOST" = "your-pack-server" ]; then
|
||||
print_message $RED "❌ 请先配置打包服务器信息"
|
||||
echo "编辑脚本,修改以下变量:"
|
||||
echo "PACK_SERVER_HOST=\"your-pack-server-ip\""
|
||||
echo "PACK_SERVER_USER=\"your-username\""
|
||||
echo "PACK_SERVER_PATH=\"/path/to/QAUP_Management\""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 上传jar文件
|
||||
scp "$JAR_FILE" "$PACK_SERVER_USER@$PACK_SERVER_HOST:$PACK_SERVER_PATH/qaup-admin/target/"
|
||||
|
||||
print_message $GREEN "✓ jar文件上传成功"
|
||||
|
||||
# 3. 在打包服务器上执行打包
|
||||
print_message $BLUE "在打包服务器上执行打包..."
|
||||
ssh "$PACK_SERVER_USER@$PACK_SERVER_HOST" "cd $PACK_SERVER_PATH && ./deploy/simple/package-server.sh"
|
||||
|
||||
print_message $GREEN "✅ 完整打包流程完成"
|
||||
|
||||
echo ""
|
||||
echo "下一步操作:"
|
||||
echo "1. 从打包服务器下载生成的 qaup-deploy-*.zip 文件"
|
||||
echo "2. 将部署包传输到生产服务器进行部署"
|
||||
@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
# QAUP Docker构建打包脚本
|
||||
# 在Ubuntu打包服务器上运行,使用Docker构建jar文件
|
||||
# QAUP 服务器端打包脚本
|
||||
# 在Ubuntu打包服务器上运行,使用已构建的jar文件进行打包
|
||||
|
||||
set -e
|
||||
|
||||
@ -15,7 +15,18 @@ print_message() {
|
||||
echo -e "${1}${2}${NC}"
|
||||
}
|
||||
|
||||
print_message $BLUE "=== QAUP Docker构建打包脚本 ==="
|
||||
print_message $BLUE "=== QAUP 服务器端打包脚本 ==="
|
||||
|
||||
# 检查jar文件是否存在
|
||||
JAR_FILE="qaup-admin/target/qaup-admin.jar"
|
||||
if [ ! -f "$JAR_FILE" ]; then
|
||||
print_message $RED "❌ 未找到jar文件: $JAR_FILE"
|
||||
echo "请先在macOS上构建jar文件并上传到服务器"
|
||||
echo "或者将jar文件放到正确位置"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
print_message $GREEN "✓ 找到jar文件: $JAR_FILE"
|
||||
|
||||
# 检查Docker是否可用
|
||||
if ! command -v docker &> /dev/null; then
|
||||
@ -23,23 +34,7 @@ if ! command -v docker &> /dev/null; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 1. 使用Docker构建jar文件
|
||||
print_message $BLUE "使用Docker构建应用..."
|
||||
docker run --rm \
|
||||
--platform linux/amd64 \
|
||||
-v "$(pwd)":/workspace \
|
||||
-w /workspace \
|
||||
m.daocloud.io/docker.io/library/maven:latest \
|
||||
mvn clean package -DskipTests -q
|
||||
|
||||
# 检查构建结果
|
||||
JAR_FILE="qaup-admin/target/qaup-admin.jar"
|
||||
if [ ! -f "$JAR_FILE" ]; then
|
||||
print_message $RED "❌ jar文件构建失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 2. 准备镜像版本
|
||||
# 准备镜像版本
|
||||
POSTGRES_IMAGE="m.daocloud.io/docker.io/postgis/postgis:17-3.5-alpine"
|
||||
REDIS_IMAGE="m.daocloud.io/docker.io/library/redis:8.0-alpine"
|
||||
OPENJDK_IMAGE="m.daocloud.io/docker.io/library/eclipse-temurin:17-jre"
|
||||
@ -49,12 +44,12 @@ docker pull --platform linux/amd64 $POSTGRES_IMAGE
|
||||
docker pull --platform linux/amd64 $REDIS_IMAGE
|
||||
docker pull --platform linux/amd64 $OPENJDK_IMAGE
|
||||
|
||||
# 3. 导出镜像
|
||||
# 导出镜像
|
||||
print_message $BLUE "导出镜像..."
|
||||
mkdir -p qaup-deploy
|
||||
docker save $POSTGRES_IMAGE $REDIS_IMAGE $OPENJDK_IMAGE | gzip > qaup-deploy/images.tar.gz
|
||||
|
||||
# 4. 复制必要文件
|
||||
# 复制必要文件
|
||||
print_message $BLUE "准备部署文件..."
|
||||
cp "$JAR_FILE" qaup-deploy/app.jar
|
||||
cp deploy/simple/docker-compose.yml qaup-deploy/
|
||||
@ -73,7 +68,7 @@ cp deploy/simple/deploy.sh qaup-deploy/
|
||||
cp deploy/simple/update.sh qaup-deploy/
|
||||
cp deploy/simple/DeployGuide.md qaup-deploy/
|
||||
|
||||
# 5. 创建部署包
|
||||
# 创建部署包
|
||||
PACKAGE_NAME="qaup-deploy-$(date +%Y%m%d-%H%M%S).zip"
|
||||
cd qaup-deploy && zip -r ../$PACKAGE_NAME . && cd ..
|
||||
|
||||
@ -1,73 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# QAUP 简化打包脚本
|
||||
# 基于现有复杂方案,简化为一键打包
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
||||
|
||||
# 颜色输出
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m'
|
||||
|
||||
print_message() {
|
||||
echo -e "${1}${2}${NC}"
|
||||
}
|
||||
|
||||
print_message $BLUE "=== QAUP 简化打包脚本 ==="
|
||||
|
||||
# 1. 构建应用
|
||||
print_message $BLUE "构建应用..."
|
||||
cd "$PROJECT_ROOT"
|
||||
mvn clean package -DskipTests -q
|
||||
|
||||
# 2. 准备镜像版本(使用国内镜像加速器)
|
||||
POSTGRES_IMAGE="m.daocloud.io/docker.io/postgis/postgis:17-3.5-alpine"
|
||||
REDIS_IMAGE="m.daocloud.io/docker.io/library/redis:8.0-alpine"
|
||||
OPENJDK_IMAGE="m.daocloud.io/docker.io/library/eclipse-temurin:17-jre"
|
||||
|
||||
print_message $BLUE "拉取基础镜像..."
|
||||
docker pull $POSTGRES_IMAGE
|
||||
docker pull $REDIS_IMAGE
|
||||
docker pull $OPENJDK_IMAGE
|
||||
|
||||
# 3. 导出镜像(只导出基础镜像,不需要构建自定义镜像)
|
||||
print_message $BLUE "导出镜像..."
|
||||
mkdir -p qaup-deploy
|
||||
docker save $POSTGRES_IMAGE $REDIS_IMAGE $OPENJDK_IMAGE | gzip > qaup-deploy/images.tar.gz
|
||||
|
||||
# 5. 复制必要文件
|
||||
print_message $BLUE "准备部署文件..."
|
||||
cp qaup-admin/target/qaup-admin.jar qaup-deploy/app.jar
|
||||
cp deploy/simple/docker-compose.yml qaup-deploy/
|
||||
cp deploy/simple/config.yml qaup-deploy/
|
||||
|
||||
# 复制数据库相关文件
|
||||
mkdir -p qaup-deploy/sql
|
||||
cp deploy/docker/postgres/qaup_database_schema.sql qaup-deploy/sql/ 2>/dev/null || echo "⚠ 数据库架构文件不存在"
|
||||
cp deploy/docker/postgres/export/initial_data_complete.sql qaup-deploy/sql/ 2>/dev/null || echo "⚠ 完整初始数据文件不存在"
|
||||
|
||||
# 创建数据库初始化脚本
|
||||
./deploy/simple/create-init-sql.sh
|
||||
cp deploy/simple/init.sql qaup-deploy/
|
||||
|
||||
cp deploy/simple/deploy.sh qaup-deploy/
|
||||
cp deploy/simple/update.sh qaup-deploy/
|
||||
cp deploy/simple/DeployGuide.md qaup-deploy/
|
||||
|
||||
# 6. 创建部署包
|
||||
PACKAGE_NAME="qaup-deploy-$(date +%Y%m%d-%H%M%S).zip"
|
||||
cd qaup-deploy && zip -r ../$PACKAGE_NAME . && cd ..
|
||||
|
||||
print_message $GREEN "✅ 打包完成: $PACKAGE_NAME"
|
||||
print_message $BLUE "部署包大小: $(du -sh $PACKAGE_NAME | cut -f1)"
|
||||
|
||||
echo ""
|
||||
echo "部署说明:"
|
||||
echo "1. 将 $PACKAGE_NAME 传输到目标服务器"
|
||||
echo "2. unzip $PACKAGE_NAME && cd qaup-deploy"
|
||||
echo "3. ./deploy.sh"
|
||||
Loading…
Reference in New Issue
Block a user