refactor(deploy): 统一发布脚本为单一入口 scripts/deploy.sh

- 新增 scripts/deploy.sh,支持 build/deploy/rollback/status 子命令
- 删除 deploy.sh、deploy-dist.sh、scripts/deploy-static.sh、scripts/deployment/deploy-production.sh
- Jenkinsfile 部署/回滚改为调用统一脚本,移除内联部署逻辑与 STATIC_DIR
- 同步 README、DEPLOYMENT、docs、CLAUDE.md、setup-cicd 与 package.json 脚本
This commit is contained in:
2026-08-17 18:40:51 +08:00
parent 315d664b9c
commit af57504e8e
19 changed files with 511 additions and 657 deletions
+41 -8
View File
@@ -345,27 +345,60 @@ npm run test:all # type-check + lint + coverage + fast E2E
## 部署
### 静态部署
### 统一发布脚本(推荐)
项目构建后生成纯静态文件,可部署到任何静态托管服务
项目发布统一通过 `scripts/deploy.sh` 完成,包含构建、发布、回滚、状态查看
```bash
# 构建静态产物
./scripts/deploy.sh build
# 构建并发布到生产服务器(默认命令,等价于 ./scripts/deploy.sh deploy
./scripts/deploy.sh deploy
# 使用现有 dist/ 直接发布(跳过本地构建)
./scripts/deploy.sh deploy --skip-build
# 回滚到最近一次远程备份
./scripts/deploy.sh rollback
# 查看生产环境发布状态
./scripts/deploy.sh status
# 查看完整帮助
./scripts/deploy.sh help
```
常用选项:
```bash
./scripts/deploy.sh deploy --skip-build --auto-rollback
./scripts/deploy.sh deploy --server-ip 139.155.109.62 --project-name novalon-website
```
也可通过环境变量覆盖默认配置:`SERVER_IP``SERVER_USER``DEPLOY_ROOT``PROJECT_NAME``NGINX_CONTAINER``DOMAIN``BACKUP_RETENTION_COUNT``DIST_DIR`
npm 快捷命令:`npm run deploy``npm run deploy:skip-build``npm run deploy:rollback``npm run deploy:status`
### 纯静态构建
项目构建后生成纯静态文件,产物位于 `dist/` 目录:
```bash
npm run build
```
构建产物位于 `dist/` 目录,可直接部署到:
`dist/` 可直接部署到:
- Nginx
- CDN
- Vercel
- Netlify
- GitHub Pages
### Docker 部署
### CI/CD
Jenkins Pipeline`Jenkinsfile`)在部署阶段调用 `./scripts/deploy.sh deploy --skip-build`,部署失败时自动调用 `./scripts/deploy.sh rollback` 回滚。
```bash
docker build -t novalon-website .
docker run -p 3000:3000 novalon-website
```
## 文档