我的 cfengine(2 和 3)文件位于由 gitolite 支持的 git 存储库中。
此 repo 的用户有一个预提交钩子,它将根据需要对文件执行语法/承诺检查。 这很好用。
为了防止有人没有预提交钩子,我想在 gitolite 服务器上的裸存储库中添加一个钩子。我知道我需要使用预接收或 update.secondary 钩子。除此之外,我束手无策。
我发现了许多网站上都有使用 PHP 文件执行此操作的说明,但这些文件可以单独检查,但根据我对 cfengine 的理解(诚然有限),我需要所有的 cfengine 文件才能检查它们。
除了使用钩子克隆 repo 之外,我该如何做呢?
答案1
确实,目前您需要准备好所有 CFEngine 文件以便检查它们,因为如果某些所需文件不存在或者未定义 bundlesequence,无论文件语法是否正确,您都将失败。
鉴于此,我认为您需要在服务器中克隆 repo。克隆 repo 后,您可以让您的钩子只更新它,以减少性能影响。