You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Drools Workbench中新建文件同步至其他克隆仓库?

针对你这种多Drools Workbench对应同结构GitHub仓库的场景,我整理了几个实用的同步方案,帮你把新建的文件推送到其他Workbench:

方案1:手动Git同步(适合少量Workbench实例)

每个Workbench对应的都是独立的GitHub仓库克隆,你可以按以下步骤操作:

  • 在新建文件的Workbench本地仓库中,先提交并推送变更到远程分支:
    git add .
    git commit -m "Add new files: xxx.gdst and other resources"
    git push origin <your-target-branch>
    
  • 逐个登录其他Workbench的服务器,进入对应仓库目录,拉取最新变更:
    git pull origin <your-target-branch>
    
  • 最后刷新对应Workbench的项目视图,或者重启服务,确保新文件被加载生效。
方案2:编写脚本自动化同步(适合多实例场景)

如果有很多Workbench实例,手动操作效率太低,写个脚本就能批量搞定:

  1. 先在源Workbench仓库完成提交推送(和方案1第一步一致)
  2. 编写Shell或Python脚本,遍历所有目标Workbench的仓库路径,自动执行拉取命令。比如Shell脚本示例:
    #!/bin/bash
    # 定义所有目标Workbench的仓库路径
    REPO_LOCATIONS=(
      "/opt/drools-workbench/repos/repo-1"
      "/opt/drools-workbench/repos/repo-2"
      "/opt/drools-workbench/repos/repo-3"
    )
    TARGET_BRANCH="main"
    
    for repo_path in "${REPO_LOCATIONS[@]}"
    do
      echo "Starting sync for $repo_path..."
      cd "$repo_path" || { echo "Failed to access $repo_path"; continue; }
      git pull origin "$TARGET_BRANCH"
      echo "Sync completed for $repo_path"
      cd - > /dev/null || exit 1
    done
    
  3. 给脚本添加执行权限(chmod +x sync-workbench-files.sh),需要同步时运行即可,也可以配置定时任务定期同步。
方案3:通过Drools Workbench REST API同步(原生无命令行操作)

Drools Workbench提供了REST API来管理项目文件,完全不需要接触服务器Git仓库:

  • 首先从源Workbench导出新建文件的内容:
    发送带身份验证的GET请求(比如用curl):
    curl -u username:password "http://source-workbench-url/rest/repositories/<repo-name>/projects/<project-name>/files/path/to/new-file.gdst"
    
  • 然后遍历其他Workbench实例,用PUT请求将文件上传到对应路径:
    curl -u username:password -X PUT -H "Content-Type: text/plain" --data-binary "@local-copy-of-file.gdst" "http://target-workbench-url/rest/repositories/<repo-name>/projects/<project-name>/files/path/to/new-file.gdst"
    
    这种方法更贴合Workbench的原生工作流,适合不想操作服务器命令行的场景。
关键注意事项
  • 因为各仓库的.gdst内容不同,同步前一定要检查git status,确保只提交你新增的文件,不要误修改或覆盖差异化的.gdst文件。
  • 如果用Git同步,要保证所有Workbench服务器都有GitHub仓库的访问权限(比如配置SSH密钥或者存储HTTPS凭证),避免拉取/推送失败。
  • 部分情况下Workbench会缓存项目数据,同步完成后记得刷新项目视图,必要时重启服务确保新文件生效。

内容的提问来源于stack exchange,提问作者Stefan Tasic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 14:57:33