Skip to content

打包部署

后端

使用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 preview

3. 服务器部署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. 更新前端资源文件夹

  • 进入前端项目目录

    bash
    cd /path/to/project/frontend
  • 步骤1 生产的dist文件夹上传到服务器的frontend中

  • 设置文件权限(确保 Nginx 容器可读)

    bash
    chmod -R 775 ./dist

4. 验证

5. 前端后续更新

  • 重新执行 步骤1 ,获取最新的dist文件夹

  • 替换服务器 /path/to/frontend/dist/

  • 若Nginx配置更换,需要重启Nginx docker容器

专业的临床检验信息化解决方案