我最近开始使用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?