我不知道這是否適合問這個問題,但是當涉及到Grunt和部署時,我正在努力使用「最佳實踐」。我的團隊使用bitbucket將repos和rackspace作爲服務器託管。使用Git進行Grunt部署
我使用grunt將我的網站構建成靜態文件(將ejs/less編譯爲靜態html/css)。我有手錶任務,並督促咕嚕咕嚕開發其完成所有的優化/縮小等
目前部署過程是:
1)咕嚕督促
2)git的承諾/ GIT中推
3)到位桶提交pull請求,合併的代碼到主
4)ssh進入服務器和git拉力。
這可以確保我在服務器上擁有的任何東西都是git commit並且已經過審查。我遇到的其中一個問題是,有時我忘記在提交之前運行grunt prod,然後結束未優化的站點。
我已經研究過使用ssh deploy方法,基本上是在運行grunt prod之後通過FTP傳輸文件。這將消除必須SSH服務器和知道命令的步驟。我擔心這種方法可能最終與git不同步,並避免代碼審查/請求的步驟。
我認爲我正處在正確處事的風口浪尖上,但我覺得我必須錯過一些東西!
有什麼建議嗎?由於
我堅信可分發文件應該遠離版本控制。你有沒有想過翻轉事物並僅將* source *文件提交給Git,然後使用Grunt作爲部署工具來檢出,構建和部署文件?這樣,整個部署管道就會自動完成,不可能錯過一個步驟或提交錯誤的文件。 – 2015-02-06 18:25:13
感謝@AntP的快速回復!我已經考慮過了,但是我一直無法圍繞如何正確做到。你能詳細說明你的建議嗎? – raydeneg 2015-02-06 18:31:39