README_AUTO_DEPLOY.md 4.6 KB

自动部署功能说明

概述

auto_execute_tasks.py 脚本现已支持自动将完成的任务脚本和 n8n 工作流部署到生产服务器。

快速开始

1️⃣ 安装依赖

pip install paramiko

或使用安装脚本:

python scripts/install_deploy_deps.py

2️⃣ 测试连接

python scripts/auto_execute_tasks.py --test-connection

3️⃣ 运行测试套件

python scripts/test_deploy.py

4️⃣ 启动自动部署

python scripts/auto_execute_tasks.py --chat-loop --use-agent

生产服务器信息

  • 地址: 192.168.3.143
  • 端口: 22
  • 用户: ubuntu
  • 密码: citumxl2357
  • 脚本路径: /opt/dataops-platform/datafactory/scripts
  • 工作流路径: /opt/dataops-platform/n8n/workflows

功能特性

✅ 自动部署(默认启用)

  • 任务完成后自动上传 Python 脚本
  • 自动查找并上传相关的 n8n 工作流文件
  • 自动设置文件执行权限

🔍 智能工作流查找

系统会自动查找:

  1. 与脚本同目录的 n8n_workflow_*.json 文件
  2. datafactory/n8n_workflows/ 目录下的工作流
  3. 根据任务名称匹配的工作流文件

🛠️ 灵活控制

  • 可以禁用自动部署:--no-deploy
  • 可以手动部署指定任务:--deploy-now TASK_ID
  • 可以测试连接:--test-connection

常用命令

命令 说明
--test-connection 测试 SSH 连接
--deploy-now 123 部署任务 ID 为 123 的脚本
--no-deploy 禁用自动部署
--chat-loop --use-agent Agent 循环模式(自动部署)
--agent-run 单次 Agent 运行(自动部署)
--once 单次任务检查(自动部署)

使用示例

基本使用

# 启动 Agent 循环模式(推荐)
python scripts/auto_execute_tasks.py --chat-loop --use-agent

# 单次执行
python scripts/auto_execute_tasks.py --once

# Agent 运行模式
python scripts/auto_execute_tasks.py --agent-run

禁用自动部署

python scripts/auto_execute_tasks.py --chat-loop --use-agent --no-deploy

手动部署

# 部署任务 ID 为 123 的脚本
python scripts/auto_execute_tasks.py --deploy-now 123

测试和调试

# 测试 SSH 连接
python scripts/auto_execute_tasks.py --test-connection

# 运行完整测试套件
python scripts/test_deploy.py

部署流程

任务完成 → 同步数据库 → SSH 连接 → 上传脚本 → 上传工作流 → 设置权限 → 完成

部署日志示例

============================================================
🚀 开始自动部署任务: 销售数据生成脚本
============================================================
📦 部署 Python 脚本: datafactory/scripts/sales_data_generator.py
正在连接生产服务器 ubuntu@192.168.3.143:22...
✅ SSH 连接成功
正在上传: sales_data_generator.py -> /opt/dataops-platform/datafactory/scripts/
✅ 脚本部署成功
📦 发现 1 个工作流文件
📦 部署工作流: n8n_workflow_sales_data.json
✅ 工作流部署成功
============================================================
✅ 任务 销售数据生成脚本 部署完成
============================================================

故障排查

问题 解决方案
SSH 连接失败 检查网络、防火墙、SSH 服务
认证失败 验证用户名密码
权限不足 检查目录权限
paramiko 未安装 pip install paramiko
文件未找到 检查 code_path 和 code_name

文档索引

脚本文件

  • scripts/auto_execute_tasks.py - 主脚本(已更新)
  • scripts/install_deploy_deps.py - 依赖安装脚本
  • scripts/test_deploy.py - 测试脚本

安全建议

⚠️ 重要提示

  1. 当前密码以明文形式存储在代码中
  2. 建议后续改用 SSH 密钥认证
  3. 确保生产服务器仅在内网访问
  4. 定期审计部署日志

技术支持

如遇问题:

  1. 运行测试脚本:python scripts/test_deploy.py
  2. 检查日志输出
  3. 查看详细文档:auto_deploy_guide.md

未来改进

  • SSH 密钥认证
  • 多服务器部署
  • 部署版本管理
  • 自动回滚机制
  • 部署通知功能

许可证

与主项目保持一致


最后更新: 2026-01-07