打包部署
后端
使用docker部署后端
1.修改配置信息
配置的详细内容请见应用配置
2.使用maven打包成jar包
# 执行打包命令
mvn clean package -DskipTests在项目的target下可见CIPBusinessBackend-xxx.jar包。
文件命名格式: CIPBusinessBackend-xxx.jar (例如 CIPBusinessBackend-0.1.45-SNAPSHOT.jar)。
3.根目录下的dockerfile修改
dockerfile
FROM openjdk:17
VOLUME /tmp
WORKDIR /tmp
# 注意:请根据实际打包的 JAR 包名称进行修改
ADD CIPBusinessBackend-0.1.45-SNAPSHOT.jar /tmp/app.jar
# 设置时区
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# --spring.profiles.active=test # 明确指定启动的 profile
# --server.port=8189 # 明确指定容器内部监听的端口
ENTRYPOINT ["java","-jar","/tmp/app.jar","--spring.profiles.active=test","--server.port=8189"]- 确认启动的配置文件
test中的配置正确 - 设置启动的端口
4.构建Docker镜像
把dockerfile和jar包都上传到服务器上的同一个目录上,使用以下命令构建镜像
# -t 标签:为镜像指定一个名称和标签 (例如 cip:latest)
# . 上下文:表示使用当前目录下的 Dockerfile
docker build -t cip:latest .5.启动Docker容器
bash
docker run -d \
--name cip \
--restart always \
-p 8989:8189 \
# 映射文件目录
-v /path/to/project/backend/CIPUploads:/app/CIPUploads \
# 映射日志目录
-v /path/to/project/backend/logs:/app/logs \
cip:latest验证部署
# 检查容器状态
docker ps -f name=cip
# 查看启动日志(确认 Spring Profile 和端口是否正确)
docker logs cip -f前端
1. 构建生产版本
bash
# 构建生产环境,注意对应.env.production配置文件配置访问的后端URL。
pnpm build
# 构建测试环境,注意对应.env.test配置文件
# pnpm build:test
# 构建docker环境,注意对应.env.docker配置文件
# pnpm build:docker
# 构建并分析包大小
#pnpm build:analyze构建后会在项目的dist目录下生成静态资源文件
2. 预览生产构建
bash
# 预览生产构建
pnpm preview3. 服务器部署docker环境
bash
# 通过 Docker 启动 Nginx 容器,挂载自定义配置文件和前端资源目录。
# 拉取 Nginx 镜像(若已存在可跳过)
docker pull nginx
# 运行 Nginx 容器,请提前创建映射的文件夹
docker run -d \
--name=container-name \ # 容器名称
-p 45666:80 \ # 映射宿主机 45666 端口到容器 80 端口
-v /path/to/project/conf-nginx/default.conf:/etc/nginx/conf.d/default.conf \ # 挂载自定义 Nginx 配置
-v /path/to/project/frontend:/usr/share/nginx/html \ # 挂载前端资源目录
nginx
# Nginx 配置文件 (default.conf)
vi /path/to/project/conf-nginx/default.conf
server {
listen 80;
server_name 192.168.2.202; # 服务器 IP 或域名
location / {
root /usr/share/nginx/html/dist; # 前端构建文件路径(容器内路径)
index index.html index.htm;
try_files $uri $uri/ /index.html; # 支持前端路由(如 Vue/React 单页应用)
}
}3. 更新前端资源文件夹
进入前端项目目录
bashcd /path/to/project/frontend将 步骤1 生产的dist文件夹上传到服务器的frontend中
设置文件权限(确保 Nginx 容器可读)
bashchmod -R 775 ./dist
4. 验证
- 尝试访问页面: http://192.168.2.202 ,确认前端页面正常加载
5. 前端后续更新
重新执行 步骤1 ,获取最新的dist文件夹
替换服务器
/path/to/frontend/dist/若Nginx配置更换,需要重启Nginx docker容器