有没有人知道Azure发布中是否有任何更改允许自动将静态内容(js,css,images)等作为发布操作的一部分添加到blob存储中?
这样可以更轻松地发布应用程序,因为您不必将静态文件放到blob存储中。将静态文件保留在Web角色之外是有意义的,因为它有助于扩展应用程序。
Azure与其他开发环境相比的主要优势之一应该是它与Visual Studio的集成以及良好的完整堆栈体验
答案 0 :(得分:2)
简短的回答是 no - v1.7工具或项目类型中没有任何内容包含Windows Azure存储内容作为其元素之一。我确实在开发环境中看到了吸引力。对于生产系统,我觉得自动化工具更合适。
这不是您正在寻找的答案,但是......有一种方法可以自动化存储上传。您可以利用PowerShell,结合您选择的自动化工具(无论您是使用TFS / MSBuild 100%还是混合使用Team City,CruiseControl.net或其他)。
REST API已经涵盖了存储管理(包括上传块和页面blob的能力)。 PowerShell cmdlet使上传blob内容非常容易,这使您可以决定何时执行脚本(以及部署,部署之前,以后更新等)。
还有一件事要考虑:静态内容的大小可能很大。您可能希望避免总上传,并专注于单个对象。我与之合作的一些合作伙伴拥有数百MB的静态内容(其中有几个拥有GB)。在一大批中推送这些内容不太实用。 PowerShell cmdlet可以帮助解决这些问题。
答案 1 :(得分:2)
稍微长一点的答案是,CDN在网络角色和存储之间作出决定是有争议的。至少对于整个站点中使用的常用静态文件。
您可以将托管服务用作Origin服务器,以便通过CDN分发。 看看http://blogs.msdn.com/b/scicoria/archive/2011/07/10/hosted-service-as-a-windows-azure-cdn-origin-tips.aspx
但是,正如David所说,在打包过程中将这些内容移到blob存储区可能会有一些好处。作为自动构建过程的一部分,脚本很容易编写,然后进行差异更新。
答案 2 :(得分:1)
我刚刚发布了https://github.com/Plasma/AzureBlobUtility这是一个命令行实用程序,用于将文件从本地存储上传到blob存储,我现在用它来让TeamCity提前将cspkg上传到blob存储。
您可能会发现自动上传资产很有用。