2014-07-09 57 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服務器?

相關問題