【发布时间】:2017-05-18 09:15:48
【问题描述】:
我有一个托管为 azure web 应用程序的网站。这是一个在 vs 解决方案中的 asp.net 网站。该网站的文件夹上是我的产品文档,所有这些都是静态资源(html 和图像)。这些静态资源位于 another vs 解决方案(这是实际产品解决方案)中的一个文件夹中。两种解决方案都是基于 VSO 的 TFS。
到目前为止,我有一个在网站上下文中运行的网络作业,它基本上是在文档文件夹上执行“tfs get”并将其内容放入网站上的文档文件夹中。这是可行的,但是,运行网站的 vm 确实经常更改,并且创建工作区的机制绑定到机器,而不是磁盘驱动器。因此,我不能只获得更改,但我必须始终获得所有内容,这现在需要大约 20 分钟,并在网站上造成不必要的负载。 (这就是为什么我每周只运行一次这个网络作业。)
现在我正在寻找一种更好的方法来做到这一点。我只想获取已更改的文件,这会加快速度并让 cpu/drive 变得昂贵。
我没有找到一种在网络服务器上创建工作区的方法,该工作区在每次网络服务器 vm 更改时都不会消失。 (如果有可能以某种方式将工作区附加到驱动器而不是机器名称,那将解决问题。)
我还在查看我为产品解决方案运行的持续构建定义。作为其中的一部分,我认为可能会创建一个部署,其中文档文件夹被复制到应用程序服务的文档文件夹中。这样我可以摆脱“特殊”的网络作业,但我仍然每次都复制所有的文档文件。 (另外,它的构建代理在本地运行,所以当它们实际上已经在 vso 内部时,我还必须将这些文件从本地复制到云中。)。所以基本上,我认为这个选项对我的情况没有多大用处。
显然,如果我将静态文档资源从产品解决方案移动到网站解决方案,我可以简单地使用可用于从 vso 到 azure web 应用程序的网站项目的自动部署。不幸的是,由于各种其他原因(其中一个原因,静态资源部分是从产品解决方案中的 .cs 源自动创建的),我根本无法将 docs 文件夹从产品解决方案移动到网站解决方案。
那么有没有人对我可以根据相应 VSO 文件夹中的更改更新 Web 应用程序中的文档文件夹的方法提出建议?
【问题讨论】:
标签: azure web-applications deployment build azure-devops