Gitolite钩子检查和部署

时间:2014-05-11 11:37:55

标签: node.js git deployment githooks gitolite

对于我的nodejs应用程序,我试图通过gitolite运行一个钩子,它执行以下操作(在服务器端):

  • 更新回购以考虑新的更改(git fetch + git reset --hard newref)
  • 更新应用程序依赖项(bower update,npm update / install)
  • 检查一些基本规则(编码规则,单元测试100%确定等)。基本上,它运行类似grunt test(jshint,mocha,...)
  • 编译所有内容(grunt build
  • 运行应用程序

如果其中一个步骤以某种方式失败,则整个过程停止,旧应用程序将被恢复并且推送被拒绝。

我的第一个方法是在此特定仓库中添加预接收挂钩,但由于它是在gitolite update hook(检查您的权限)之前触发的,所以无论如何这都很糟糕。 / p>

所以我现在考虑使用VREF,这类似于辅助更新挂钩。所以我很确定它会像这样工作,但似乎VREF通常只执行一些基本检查,并且不打算用作完全部署进程。< / p>

我做过一些研究,似乎人们通常使用收到后挂钩来部署他们的应用。这意味着如果出现故障,无论如何都会接受推送。我真的想避免接受在某个时候破坏应用程序的提交。

是否有更好的方法来实现此部署?

0 个答案:

没有答案