No description
- Java 98.9%
- PowerShell 0.9%
- Shell 0.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| bin | ||
| docs | ||
| nscode-business | ||
| scripts | ||
| .gitignore | ||
| deploy.config.example.json | ||
| pom.xml | ||
| README.md | ||
yuanzhou_api
袁州区政府能碳管理平台 API
打包模式(thin jar)
业务代码与依赖分离:
| 产物 | 路径 | 说明 |
|---|---|---|
| 业务小包 | nscode-business/target/nscode-yuanzhou.jar |
仅本模块 class,通常几百 KB~数 MB |
| 依赖目录 | nscode-business/target/lib/*.jar |
runtime 依赖,首次部署上传,之后可按需同步 |
本地打包:
mvn clean package -Dmaven.test.skip=true
一键编译发布
copy deploy.config.example.json deploy.config.json
REM 编辑 deploy.config.json 填写 host / username / password
bin\deploy.bat
流程:本地 Maven 打包 → 远端备份旧 jar → 上传业务 jar + 同步 lib/ → 执行 restart.sh → 检测日志 Application is running。
- 上传失败会尝试还原本轮备份 jar
- 启动检测只匹配 restart 之后新增日志
syncLib: false时只传业务 jar(依赖无变化时的快速发布)
默认远端:/home/webapps/yzzf/api
需要本机:Maven、PuTTY(plink + pscp)
服务器启动脚本(thin jar)
仓库模板:scripts/server/
/home/webapps/yzzf/api/
app.env # 从 app.env.example 复制
start.sh
restart.sh
dist/
nscode-yuanzhou.jar
lib/ # 依赖 jar
logs/logs.log
start.sh 使用:
java -cp "dist/nscode-yuanzhou.jar:dist/lib/*" com.mvker.MainApplication --spring.profiles.active=prod
首次上线 thin 模式时,把 scripts/server/* 拷到服务器 api 根目录并 chmod +x start.sh restart.sh。
排错
| 现象 | 处理 |
|---|---|
No SSH password tool found |
安装 PuTTY,确保 plink/pscp 在 PATH |
Missing config |
复制 example 为 deploy.config.json 并填写 |
| Maven 失败 | 本机 mvn clean package -Dmaven.test.skip=true |
lib dir not found |
确认 package 后存在 target/lib |
ClassNotFoundException |
确认远端 dist/lib 已同步;syncLib=true 再部署一次 |
| 日志超时 | 检查远端 restart.sh、start.sh、logPath、successPattern |
deploy.config.json 已 gitignore,勿提交密码。deploy.bat 须为 ASCII + CRLF。