1

我在 Windows Azure 上部署了一个 Web 角色。它仅在一个实例上运行。我设置了远程桌面来访问它。

目前,我只需要在网站的 JavaScript 文件中更改两行。

然后我连接到实例...

  1. 导航到E:\approot\Scripts
  2. 打开目标文件,编辑它

更改没有传播。(我下载旧内容)

然后我试着

  1. 在 Web 角色中停止 IIS
  2. 编辑文件
  3. 再次启动 IIS

更改没有传播(当我在 RD 中打开文件时,我看到了我的新内容,但是当通过 http 打开时,我看到了旧内容)

然后我尝试了

  1. 开放式研发
  2. 导航到文件并对其进行编辑
  3. 通过 Windows Azure 控制面板重启实例
  4. 再次连接到 RD

我仍然在远程服务器中看到旧内容

我的问题是我应该怎么做才能只更改一个文件而不重新部署整个包?

4

3 回答 3

5

我的猜测是您正在编辑错误的位置。看看e:\sitesroot\0(或类似的东西)。如有疑问,请打开 IIS 配置 UI 并找出网站内容的确切位置。

编辑:但正如丹尼斯指出的那样,您以这种方式所做的更改不会持续存在,因此仅将其用于测试。

于 2012-07-19T19:42:12.067 回答
2

我以前做过这项工作,但是这种类型的更改存在问题。如果您正在运行的硬件发生了问题并且您的实例需要“修复”,它只会从您上传的包中创建。Azure 不知道您通过 RD 进行的文件编辑。

目前还没有办法在云服务的一侧进行单个文件更改,但使用新的 Azure 网站功能,它只是一个 git push 或 tfs push 即可。

于 2012-07-19T17:09:52.890 回答
0

您应该能够通过右键单击您的网站项目(而不是 azure 角色项目)来进行 Web 部署。这只会将已更改的文件部署到活动实例。我相信您的天蓝色部署配置文件(远程桌面旁边)中有一个设置可以启用此功能。

如其他答案中所述,如果天蓝色需要重新创建或提供其他实例,这些更改将丢失。尽管如此,它仍然是为开发进行增量更改的好方法。

于 2012-07-19T20:36:24.973 回答