feat: deploy/deploy.sh 自动化部署体系 — 双tag镜像/快照/迁移门控/回滚,退役根deploy.sh
- compose 四服务补 image: ${BACKEND_TAG}/${FRONTEND_TAG} 插值(换 tag 回滚前提)
- deploy/deploy.sh:工作区校验→PREV_SHA→pull→predeploy 快照(-Fc)→destructive 判定→
build+双tag→.pending-deploy→迁移退出码门控→up -d --no-deps→健康轮询→versions.log→
镜像治理;支持 --dry-run / flock / 基础设施健康门 / 多head预检
- deploy/rollback.sh:双入口(手动读 versions.log 跳 ROLLBACK 行 / --auto 读
.pending-deploy);destructive 走 pg_restore --clean;双 tag 原子切换
- deploy/hotfix.sh:紧急单文件 cp + 强制收口提醒
- .gitignore 补 .pending-deploy/versions.log(运行时状态)
- 退役根 deploy.sh + deploy.env.example(SSH 旧模型,被 deploy/deploy.sh 取代)
This commit is contained in:
@@ -11,8 +11,8 @@
|
||||
```bash
|
||||
# 1. 服务器上 clone 项目
|
||||
ssh root@your-server.com
|
||||
git clone https://gitee.com/your-org/scilit-oncology.git /root/scilit-oncology
|
||||
cd /root/scilit-oncology
|
||||
git clone https://gitee.com/your-org/scilit-oncology.git /root/scilit
|
||||
cd /root/scilit
|
||||
|
||||
# 2. 配置环境变量
|
||||
cp .env.example .env
|
||||
@@ -27,15 +27,26 @@ curl http://localhost:8000/health
|
||||
curl http://localhost:80
|
||||
```
|
||||
|
||||
## 使用 deploy.sh 自动化部署
|
||||
## 使用 deploy/deploy.sh 自动化部署(生产)
|
||||
|
||||
> 旧根目录 `deploy.sh`(SSH 直连模型)已废弃,替换为 `deploy/` 脚本体系。
|
||||
> 完整设计见 [16-部署运维方案.md](16-部署运维方案.md) §2。
|
||||
|
||||
```bash
|
||||
# 1. 配置服务器连接信息
|
||||
cp deploy.env.example deploy.env
|
||||
# 编辑 deploy.env,填入 SCILIT_HOST / SCILIT_USER / SCILIT_PATH
|
||||
# 在服务器 /root/scilit(git 仓库 + .env 所在目录)执行
|
||||
|
||||
# 2. 推送代码并部署
|
||||
source deploy.env && ./deploy.sh
|
||||
# 0. 前置:基础设施已在跑
|
||||
docker compose -f docker-compose.prod.yml ps
|
||||
|
||||
# 1. 预览将执行的命令(不执行任何变更)
|
||||
bash deploy/deploy.sh --dry-run
|
||||
|
||||
# 2. 正式部署(自动:工作区校验 → git pull → predeploy 快照 →
|
||||
# 迁移 → 容器切换 → 健康轮询 → versions.log)
|
||||
bash deploy/deploy.sh
|
||||
|
||||
# 3. 回滚到上一成功版本
|
||||
bash deploy/rollback.sh
|
||||
```
|
||||
|
||||
## PostgreSQL 备份与恢复
|
||||
|
||||
Reference in New Issue
Block a user