以下是要求:
我在github中发现了各种钩子管理器,但它们都有局限性,或者没有与厨师集成。或者只是客户方。以下是我发现的一些钩子管理器:
或者厨师有git hooks,例如:
所以使用厨师,如果我可以设置一个食谱,在创建链接和更改权限/所有权的同时在git repos中部署文件,那也可以。
GitLab Community Edition(CE)正用于远程存储库
答案 0 :(得分:1)
管理钩子脚本几乎只是将脚本编写或链接到服务器端的每个git存储库。 http://doc.gitlab.com/ce/hooks/custom_hooks.html显示了在GitLab服务器上找到存储库的位置,然后使用template
或link
资源添加/删除每个存储库上的挂钩。可能最终会看起来像这样:
Dir["/var/opt/gitlab/git-data/repositories/*/*.git"].each do |repo_path|
directory File.join(repo_path, "custom_hooks") do
owner "gitlab" # Maybe? Check what the existing permissions look like.
mode "755"
end
template File.join(repo_path, "custom_hooks", "pre-receive") do
source "pre-receive.erb"
owner "gitlab" # Like above.
mode "755"
end
end