我最近开始使用 Gulp.js 将所有的 CSS 和 JavaScript 打包成单个文件,然后在我的 Web 应用程序中引入。我的 Web 应用程序是使用 Python (使用 Flask) 编写的。
显然,我不想使用 git 跟踪 Gulp 输出的 CSS 和 JS 文件(因为它们是构建输出文件)。
我使用 push to deploy 将网站部署到 Azure Websites 上。也就是说,我只需运行
这个过程很好用,但现在我开始使用 Gulp,我希望确保合并的 JavaScript 和 CSS 文件也在服务器端生成,每当我部署网站时。
此外,将来,我希望 Azure 在部署时运行所有测试,并且只有当所有测试都通过时才能成功部署。
遗憾的是,我还没有找到一个令人满意的解决方案,因为我不能向 Azure 的自动部署流程添加自定义步骤。
我曾尝试使用Kudu(正如这篇博客文章所建议的)编写自定义部署脚本,但这样做会禁用Azure通常执行的所有自动步骤。运行
显然,我不想使用 git 跟踪 Gulp 输出的 CSS 和 JS 文件(因为它们是构建输出文件)。
我使用 push to deploy 将网站部署到 Azure Websites 上。也就是说,我只需运行
git push azure master
,Azure 就会自动发现我正在使用 Python,设置 virtualenv
,安装 pip
依赖项等。本文描述了如何设置这一过程。这个过程很好用,但现在我开始使用 Gulp,我希望确保合并的 JavaScript 和 CSS 文件也在服务器端生成,每当我部署网站时。
此外,将来,我希望 Azure 在部署时运行所有测试,并且只有当所有测试都通过时才能成功部署。
遗憾的是,我还没有找到一个令人满意的解决方案,因为我不能向 Azure 的自动部署流程添加自定义步骤。
我曾尝试使用Kudu(正如这篇博客文章所建议的)编写自定义部署脚本,但这样做会禁用Azure通常执行的所有自动步骤。运行
azure site deploymentscript --python
仅生成一个非常基本的Kudu部署文件,它不能处理读取web.config
文件、设置virtualenv
或安装依赖项等操作。我没有找到任何关于如何自己完成此操作的文档;我已经使用默认的自动Azure部署脚本(在我推送代码时由服务器端生成,因此我无法自己访问它),否则像virtualenv和pip依赖项之类的东西就无法处理。
是否有任何可用的解决方法,使我可以自定义我的部署脚本(例如运行Gulp),同时正确部署Flask?