3.1 KiB
3.1 KiB
生产环境安装与部署脚本实施记录
修改内容
- 新增生产环境安装脚本
bin/prod/install_env.sh - 新增生产环境部署脚本
bin/prod/deploy_release.sh - 新增生产环境 Java 管理脚本
bin/prod/restart_java.sh - 两份脚本需要同步放置到生产容器
/home/webapp目录,便于在目标环境直接执行 - 部署脚本改为复用独立的 Java 管理脚本完成后端启停
- 安装脚本固定将 Java 安装到
/home/webapp/env/java,将 Nginx 安装到/home/webapp/env/nginx - 安装脚本会创建
/home/webapp/loan-pricing下的backend、frontend、backup、logs、run、tmp目录,并写入 Nginx 配置 - 部署脚本约定发布包内必须包含 1 个后端
jar和 1 个dist.zip - 部署脚本在发布前会备份旧版后端 jar 与旧版前端
dist目录,再完成替换、启动后端和重载 Nginx - Nginx 前端监听端口固定为
63311,后端应用启动端口固定为63310
环境勘察结论
- 已连接生产服务器
116.62.17.81:9444并进入loan-pricing容器核对目录结构 - 容器内实际工作目录为
/home/webapp - 已确认当前容器中存在安装包:
/home/webapp/openjdk-21.0.2_linux-aarch64_bin.tar.gz/home/webapp/nginx-1.20.2.tar.gz
- 已确认当前容器尚不存在
/home/webapp/loan-pricing - 已确认当前容器当前没有运行中的 Java 或 Nginx 进程
- 当前被勘察容器基础镜像为 Ubuntu;但脚本已按需求改为基于
yum安装系统依赖,适配正式生产环境约束 - 已确认当前容器无法直接安装原生
yum包,但系统仓库提供dnf包,可通过dnf提供yum兼容执行入口
验证结果
- 已执行
sh -n bin/prod/install_env.sh - 已执行
sh -n bin/prod/deploy_release.sh - 已将两份脚本同步到生产
loan-pricing容器:/home/webapp/install_env.sh/home/webapp/deploy_release.sh
- 已将 Java 管理脚本同步到生产
loan-pricing容器:/home/webapp/restart_java.sh
- 已在容器内执行
ls -l /home/webapp/install_env.sh /home/webapp/deploy_release.sh /home/webapp/restart_java.sh,确认三份脚本均已落盘且具备可执行权限 - 已在容器内执行:
sh -n /home/webapp/install_env.shsh -n /home/webapp/deploy_release.shsh -n /home/webapp/restart_java.sh三份线上脚本语法校验均已通过
- 已确认 Ubuntu 24.04 仓库中
yum包候选为空,dnf包候选为4.14.0-4.1ubuntu1 - 已在生产
loan-pricing容器执行apt-get install -y dnf dnf-plugins-core - 已在生产
loan-pricing容器创建yum兼容入口:/usr/local/bin/yum -> /usr/bin/dnf
- 已执行
yum --version,返回4.14.0 - 已人工核对脚本中的关键路径、端口与部署约束:
- Java 安装目录
/home/webapp/env/java - Nginx 安装目录
/home/webapp/env/nginx - 项目部署目录
/home/webapp/loan-pricing - 前端端口
63311 - 后端端口
63310
- Java 安装目录
- 由于当前已连接勘察容器为 Ubuntu 24.04,不具备本次脚本要求的
yum安装前提,因此未在该容器直接执行安装流程,仅完成语法校验与逻辑核对