我目前正在使用 gitolite,并且在我的 post-receive 钩子中,如果任何传入的提交在 master 上,我将推送到(本地)镜像。
问题是,该镜像仅存在,因为我想在推送到 master 时自动部署和测试:我无法获取 中的索引文件work.git
,所以我推送到非裸work
仓库以获取工作树,并运行完全独立的接收后挂钩。
这种方法有两个问题:
- 感觉很笨
- 如果测试失败,我会收到电子邮件通知我,而不是拒绝提交。(在频率方面实际上并不是那么大的问题,我只是不喜欢它。)
处理这个问题的标准方法是什么?