chore: add safe production deploy script
This commit is contained in:
@@ -540,8 +540,8 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td>生产部署</td>
|
||||
<td><code>docker compose -f docker-compose.prod.yml --env-file deploy/.env.production up -d --build</code></td>
|
||||
<td>服务器目录为 <code>/opt/skg-marketing-studio</code>;后端任务文件挂载到 <code>./data/jobs</code>,全局资源中心挂载到 <code>./data/asset_library</code>、<code>./data/prompt_library</code> 和 <code>./data/_trash</code>,真实 Key 只放服务器 <code>deploy/.env.production</code>。Web 上线验收必须按 Docker 静态形态跑 <code>./scripts/verify-prod-docker.sh</code>,不能只用本地 <code>npm run build</code> 替代。</td>
|
||||
<td><code>./scripts/deploy-prod-safe.sh</code></td>
|
||||
<td>服务器目录为 <code>/opt/skg-marketing-studio</code>;后端任务文件挂载到 <code>./data/jobs</code>,全局资源中心挂载到 <code>./data/asset_library</code>、<code>./data/prompt_library</code> 和 <code>./data/_trash</code>,真实 Key 只放服务器 <code>deploy/.env.production</code>。生产部署唯一入口是 <code>deploy-prod-safe.sh</code>:先备份服务器 env、案例和资源库,再用 protect/exclude 保护 <code>data/</code>、<code>jobs/</code>、<code>secrets/</code>、<code>deploy/.env.production</code> 后同步代码,最后 Docker 重建并跑 <code>verify-prod-docker.sh</code>。禁止再用裸 <code>rsync --delete</code> 手动同步。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>前端开发服务</td>
|
||||
@@ -1131,6 +1131,18 @@ ProductRefStateItem {
|
||||
<h2>变更记录</h2>
|
||||
<p>这个记录不是 git log 的替代品。它记录“产品理解发生了什么变化、影响了哪些源码、你以后描述需求时该怎么说”。后续每次改功能都要补一条。</p>
|
||||
<div class="changelog">
|
||||
<article class="change">
|
||||
<header>
|
||||
<h3>2026-05-20 · 生产部署增加数据保护脚本</h3>
|
||||
<span class="tag amber">Deploy</span>
|
||||
<span class="tag rose">Safety</span>
|
||||
</header>
|
||||
<div class="body">
|
||||
<p><strong>问题:</strong>手动 <code>rsync --delete</code> 如果没有排除服务器 <code>data/jobs</code> 和真实 <code>deploy/.env.production</code>,会把生产案例、资源库或登录配置删掉。</p>
|
||||
<p><strong>改动:</strong>新增 <code>scripts/deploy-prod-safe.sh</code> 作为生产部署唯一入口。脚本部署前会在服务器创建 <code>/opt/skg-marketing-studio-backups/skg-marketing-preserve-*.tgz</code>,备份真实 env、案例、资源库和 secrets;同步时用 <code>rsync --filter='P ...'</code> 和 exclude 双重保护 <code>data/</code>、<code>jobs/</code>、<code>secrets/</code>、<code>api/jobs</code>、<code>deploy/.env.production</code> 和本地开发文件。</p>
|
||||
<p><strong>影响:</strong>后续发布不再手写裸 <code>rsync --delete</code>;脚本会自动 Docker 重建并调用 <code>verify-prod-docker.sh</code>。若误操作,先从最新 <code>skg-marketing-preserve-*.tgz</code> 恢复。</p>
|
||||
</div>
|
||||
</article>
|
||||
<article class="change">
|
||||
<header>
|
||||
<h3>2026-05-20 · 转换层改为提示词确认后生成</h3>
|
||||
|
||||
Reference in New Issue
Block a user