我有一个托管为天蓝色网络应用的网站。这是一个在vs解决方案中的asp.net网站。在该网站的文件夹是我的产品文档,所有这些都是静态资源(html和图像)。这些静态资源位于另一个 vs解决方案的文件夹中(这是实际的产品解决方案)。这两种解决方案都是基于VSO的TFS。
截至目前,我在网站的上下文中运行了一个webjob,它基本上在文档文件夹上执行“tfs get”并将其内容放入网站上的文档文件夹中。这是有效的,但是,网站运行的vms确实经常更改,并且创建工作空间的机制绑定到计算机,而不是磁盘驱动器。因此,我不能只获得更改,但我必须始终获得所有内容,现在大约需要20分钟,并在网站上创建不必要的负载。 (这就是为什么我每周只运行一次这个webjob。)
现在我正在寻找更好的方法来做到这一点。我想只获取已更改的文件,使其速度更快,让cpu /驱动器变得昂贵。
我没有找到在Web服务器上创建工作区的方法,每次web服务器vm更改时都不会消失。 (如果有可能以某种方式将工作区附加到驱动器而不是机器名称,那将解决问题。)
我还在查看我为产品解决方案运行的继续构建定义。作为其中的一部分,我认为可能会创建一个部署文档文件夹被复制到app services的文档文件夹。这样我可以摆脱“特殊”webjob,但我仍然每次都复制所有文档文件。 (另外,它的构建代理在内部运行,所以当它们实际上已经存在于内部时,我还必须将这些文件从前提复制到云中。)。所以基本上,我不认为这个选项对我的情况有很多用处。
显然,如果我将静态文档资源从产品解决方案移动到网站解决方案,我可以简单地使用可用于从vso到azure web app的网站项目的自动部署。遗憾的是,由于各种其他原因(其中一个原因是静态资源部分是从产品解决方案中的.cs源自动创建的),我根本无法将docs文件夹从产品解决方案移动到网站解决方案。
那么有人建议我可以根据相应VSO文件夹中的更改更新Web应用程序中的文档文件夹吗?
答案 0 :(得分:1)
您可以使用Kudu API将更新的文件上传到Azure应用服务。 简单的步骤:
答案 1 :(得分:0)
这是我最终做的事情: