自动将git-reo中的降价文件发布到Web服务器



我有一个git repo,它有一个docs目录,我在其中保存标记文件,这些文件记录了我正在处理的事情(例如,我有一种名为setup_git_server.mdown的文件)。我从自己运行gitolite的Web服务器上推拉存储库(以及其他存储库)。

我想做的是,每当我向服务器推送提交时,它会自动将markdown文件转换为HTML,并将它们复制到服务器上的一个目录中,Apache可以在该目录中为它们提供服务器服务。

最好的方法是什么?

您需要在存储库所在的服务器上设置一个git挂钩。挂钩只能在安装了挂钩的机器上运行。钩子本身不是签入代码库的一部分。例如,本地机器上的任何提交后挂钩都不会在服务器上被推送或执行。其他检查我们的代码库的人不会得到你的钩子。

如果你想让服务器在收到推送时采取行动,你应该创建一个接收后挂钩。钩子可以是任何可执行文件。在您的情况下,您可能需要将repo克隆到一个临时目录,提取markdown文件,并将其发布到您的web服务器。

我不确定gitolite是否相同,但在gitosis中,hooks目录位于每个托管存储库的顶层。将你的post-rereceive挂钩放在该目录中。

在.git目录中查找名为"hooks"的子目录。您将在其中找到响应各种事件的示例shell脚本。选择一个,例如提交后并调整它以更新您的文档。

查看git挂钩及其工作方式,或者只在谷歌上搜索"git挂钩"

最新更新