我未能成功配置 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 SCM
C:\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 版或更早版本的文档中,那将会很有帮助。