第 43 章 Git hook 和远程 Git 存储库集成
Git hook 是 Git 事件之前或之后执行的 bash 脚本,如 git commit
或 git push
。在 Business Central 中,您可以使用 Git hook 将存储库配置为在每次事件发生时触发指定的操作。如需有关 Git hook 的更多信息,请参阅自定义 Git Hook。
您可以使用提交 Git hook 将远程 Git 存储库与 Business Central 集成。这可让您在 Business Central 和远程存储库之间自动化内容复制。例如,您可以实施实时备份策略,其中对 Business Central 项目所做的更改被复制到远程 Git 存储库中。
Business Central 只支持提交 Git hook。
每次提交后 Git hook 作为同步操作执行。Business Central 等待提交后 bash 完成,且不会在存储库中发生其他写入操作。
43.1. 创建提交后 Git hook
您可以创建一个 post-commit Git hook bash 脚本文件,该文件中包含的代码或从不同文件(如 Java 程序)执行代码。
流程
创建
提交后
Git hook 文件:$ touch post-commit
将
post-commit
文件的权限设置为755
:$ chmod 755 post-commit
向
post-commit
文件添加 guestfish!/bin/bash
以及任何所需的代码,例如:将所有更改推送到远程存储库:
#!/bin/bash git push origin +master
记录信息:
#!/bin/bash echo 'Hello World'
执行另一个文件的代码:
#!/bin/bash java -jar _EAP_HOME_/bin/.niogit/<SPACE>/<PROJECT_NAME>.git/hooks/git-push.jar
注意要使用执行 Java 代码的 post-commit Git hook,您必须使用以下 Java 库:
- jgit :用于与内部 Business Central Git 存储库交互。
- 用于 Java 的 GitHub API :用于与 GitHub 通信。
有关提交 Git hook 和 Java 代码示例的更多信息,请参阅 Business Central post-commit Git Hooks 集成。