jBPM 未执行提交后操作,Windows 环境

jBPM 未执行提交后操作,Windows 环境

我未能成功配置 jBPM(或 KJAR)项目,因此当我保存任何工作(已git commit发生)时,jBPM 的 Guvnor Git 理论上应该在提交后目录中的文件/hooks

以下是一个简单的工作提交后文件的内容。它所做的只是将提交的更改自动推送到我的远程 Git 存储库。此echo行只是进行健全性检查。

#!C:\Program Files\Git\usr\bin\sh.exe
echo Executing post-commit! YAY!!
git push origin master

#!/bin/sh如果有人想知道为什么第一行不是通常的,这是sh.exe我的 Windows 环境中文件的正确路径。这是我所有其他项目中的有效配置。

我的 jBPM 项目通过 GitHub 导入到 RHPAM/Business Central https://,使用我的用户名和密码。我可以验证导入后是否origin已设置远程 URL。

>> git remote -v
origin  https://github.com/myusername/my-kjar-project.git (fetch)
origin  https://github.com/myusername/my-kjar-project.git (push)

就我而言,我仍然不明白为什么在放置提交后文件夹中的文件/hooks。如果我在任何 CLI 上执行它,我可以git push origin master从我的 jBPM 项目的文件夹位置毫无问题地调用它。

我关注了RHPAM 7.2 的存储库挂钩配置说明,适用于 RHPAM 7.x 以及 Business central >7.15。如果有人可以提供任何指点,我将不胜感激。

作为参考,这是我的开发环境设置:

  • Windows 10
  • 安装在 Windows 上的 Git SCMC:\Program Files\Git
  • EAP 7.2 上的 RHPAM 7.2
  • WildFly 14 上的 Business Central 7.21
  • GitHub 远程仓库,使用https://而不是ssh://

对于其他参考,这是一个报告的错误,据称已在 RHPAM 和 Business Central 的后续版本中修复。

答案1

好的,所以我找到了这个问题的解决方案。这确实是 RHPAM 或 Business Central 在 Windows 环境中的行为方式。在查看了RHPAM 7.3 中关于存储库挂钩的类似文档,显然我需要使用 Cygwin 提供的 shell,而不是 Git SCM 提供的 shell。

所以......安装 Cygwin 后C:\cygwin64,我只需更改提交后文件包含以下内容作为第一行:

#!C:\cygwin64\bin\sh.exe

不要忘记修改PATH以包含 Cygwin 的\bin文件夹,以便sh.exe可以执行。这基本上就成功了。

边注:我使用 RHPAM 7.2 而不是 RHPAM 7.3,原因是严重错误这会锁定 jBPM 项目,从而阻止正确读取项目。修复预计将在 RHPAM 7.4 中发布。话虽如此,我没有意识到 RHPAM 7.3 的文档中已经更新了有关存储库挂钩的说明,如果它包含在 RHPAM 7.2 版或更早版本的文档中,那将会很有帮助。

相关内容