对于我的nodejs应用程序,我试图通过gitolite运行一个钩子,它执行以下操作(在服务器端):
grunt test
(jshint,mocha,...)grunt build
)如果其中一个步骤以某种方式失败,则整个过程停止,旧应用程序将被恢复并且推送被拒绝。
我的第一个方法是在此特定仓库中添加预接收挂钩,但由于它是在gitolite update hook(检查您的权限)之前触发的,所以无论如何这都很糟糕。 / p>
所以我现在考虑使用VREF,这类似于辅助更新挂钩。所以我很确定它会像这样工作,但似乎VREF通常只执行一些基本检查,并且不打算用作完全部署进程。< / p>
我做过一些研究,似乎人们通常使用收到后挂钩来部署他们的应用。这意味着如果出现故障,无论如何都会接受推送。我真的想避免接受在某个时候破坏应用程序的提交。
是否有更好的方法来实现此部署?