我最近開始使用Gulp.js將我所有的CSS和JavaScript打包爲單個文件,然後將其包含在我的Web應用程序中。我的網絡應用程序是用Python編寫的(使用Flask)。自定義部署到Azure網站
我顯然不想跟蹤使用git的gulp輸出CSS和JS文件(因爲它們是構建輸出文件)。
我使用推送部署將我的網站部署到Azure網站。也就是說,我只需運行git push azure master
,Azure會自動計算出我正在使用Python,設置virtualenv
,安裝pip
依賴關係等。 This article describes how to set this up。
這個過程很好用,但是現在我已經開始使用Gulp了,我希望確保在部署網站時在服務器端也生成連接的JavaScript和CSS文件。此外,未來,我希望Azure能夠在部署時運行所有測試,並且只有在它們全部通過後才能成功部署。
不幸的是,我還沒有找到一個令人滿意的解決方案,因爲我無法將自定義步驟添加到Azure的自動部署過程中。
我已經嘗試使用Kudu(如this blog post建議)編寫自定義部署腳本,但這樣做會禁用Azure通常執行的所有自動步驟;運行azure site deploymentscript --python
僅產生不處理閱讀在web.config
文件,建立virtualenv
或安裝依賴一個很基本的庫杜部署文件。我沒有發現有關如何自己做這件事的文檔。我使用默認的自動Azure部署腳本(在我推送代碼時生成服務器端,因此我無法自己訪問它),因爲否則像virtualenv和pip依賴項這樣的內容不會被處理。
是否有任何解決方法可用,以便我可以自定義部署腳本(例如運行Gulp),同時仍正確部署Flask?