2014-07-09 29 views
3

我正在使用grunt从我的开发文件创建生产就绪文件,并使用git进行源代码控制并推送到prod服务器。如果推文件的人正确使用它(运行grunt,然后git push),它会很好用。如何在git push之前强制执行grunt?

问题是,有时人们忘了,只是推。这不会在应用程序本身中创建错误,但不会为项目添加新功能(这会造成混淆)。我正试图找到一种方法,我可以如何在git push之前强制运行grunt。所以当我运行git push时,它告诉我:嘿,你忘了跑咕噜!

目前唯一的理论方法是在prod构建文件中增加git pre-commit hook来比较这些数字并放弃具有相同数字的提交。这个想法有什么问题吗?有更好的主意吗?

+1

生产服务器不能成为一个用钩子运行grunt的服务器吗? –

+0

@IdanArye这肯定是可能的。但我宁愿让我的生产服务器保持最低限度的安装。 –

+0

也是服务器端钩子,但可能需要较少的工具:您可以拒绝不包含编译资产的推送。 (或者你生成的任何东西)。 –

回答

1

我们可以想象强制执行代码审查(例如使用Gerrit):如果提交者忘记了,审阅者可能会注意到它。

但是,使用另一种工具推动产品呢?有一个部署者工具负责从repo推送到prod服务器肯定会比Git更灵活。

例如Jenkins服务器可以每小时(或按需)运行以获取git repo,运行Grunt并推送prod服务器?

相关问题