diff --git a/.claude/commands/deploy.md b/.claude/commands/deploy.md new file mode 100644 index 0000000..9af0a46 --- /dev/null +++ b/.claude/commands/deploy.md @@ -0,0 +1,21 @@ +将本地代码部署到远程服务器。 + +## 部署信息 + +- 服务器: ubuntu@118.195.187.179(本地私钥鉴权) +- 远程路径: /opt/1panel/apps/sub-router +- 部署方式: Docker Compose(需要 sudo) + +## 步骤 + +1. 找出本地相对于远程的改动文件(对比 git diff 或根据上下文判断) +2. 将改动文件通过 scp 上传到远程 /tmp +3. 通过 ssh + sudo cp 复制到 /opt/1panel/apps/sub-router 对应路径 +4. 执行 `sudo docker compose up -d --build` 重建并重启容器 +5. 检查 `sudo docker logs` 确认服务正常启动 + +## 注意事项 + +- 远程目录需要 sudo 权限写入,所以先传 /tmp 再 cp +- 如果只改了 server 代码没改前端,Docker 会利用缓存加速构建 +- 部署完成后务必检查日志确认无报错 diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 503875b..1dc146f 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -3,7 +3,12 @@ "allow": [ "WebFetch(domain:manual.nssurge.com)", "Bash(ssh:*)", - "Bash(sshpass:*)" + "Bash(sshpass:*)", + "Bash(scp server/src/index.ts ubuntu@118.195.187.179:/opt/1panel/apps/sub-router/server/src/index.ts)", + "Bash(scp server/src/routes/surge.ts ubuntu@118.195.187.179:/opt/1panel/apps/sub-router/server/src/routes/surge.ts)", + "Bash(scp web/src/api.ts ubuntu@118.195.187.179:/opt/1panel/apps/sub-router/web/src/api.ts)", + "Bash(scp web/src/components/Output.tsx ubuntu@118.195.187.179:/opt/1panel/apps/sub-router/web/src/components/Output.tsx)", + "Bash(scp:*)" ] } }