【发布时间】:2015-04-06 15:23:33
【问题描述】:
我最近开始使用Gulp.js 将我所有的 CSS 和 JavaScript 打包到单个文件中,然后将其包含在我的网络应用程序中。我的网络应用是用 Python 编写的(使用 Flask)。
我显然不想使用 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 只会生成一个非常基本的 Kudu 部署文件,它不处理读取web.config 文件、设置virtualenv 或安装依赖项。我没有找到有关如何自己执行此操作的文档;我使用了默认的自动 Azure 部署脚本(当我推送代码时会在服务器端生成它,因此我无法自己访问它),否则不会处理 virtualenv 和 pip 依赖项等内容。
是否有任何可用的解决方法,以便我可以自定义我的部署脚本(例如运行 Gulp),同时仍能正确部署 Flask?
【问题讨论】:
标签: python azure deployment automation gulp