通过 Visual Studio 发布到 Google Cloud Compute Engine - 删除实时文件

Publish to Google Cloud Compute Engine via Visual Studio - Deleting Live Files

我有一个项目,我将在 Visual Studio 2015 年通过 Google Cloud Tools for Visual Studio.

部署到 Google Compute Engine

除一件事外,一切都很好:

我在 'live' 网站上有一个上传的资产文件夹。这包含通过网站在线上传的图像。 我在 VS 中的本地副本没有所有这些资产,但文件夹结构是镜像的。

问题

当我发布时,上传资产文件夹中的一些文件在实时网站上被删除。

我希望发布操作忽略此文件夹,因为它的实时服务器版本应该保持不变。我可以这样做吗??

从 Google Cloud Tools for Visual Studio 版本 1.4.0 开始,不,没有好的方法可以做到这一点。该扩展正在使用一组硬编码参数调用 MSDeploy。

我建议的解决方法是使用 MSBuild 发布配置文件。

在创建配置文件之前,您需要 GCE VM 的 public IP,以及该 VM 的用户名和密码设置。您可以从 Google Cloud Explorer 获取这些内容。 public IP 在虚拟机的属性中,您可以从虚拟机的上下文菜单中的 "Manage Windows Credentials..." 中获取用户名和密码。

现在创建配置文件。右键单击您的项目,然后 select "Publish..."。选择 "IIS, FTP, etc" 并按下 "Create Profile"。使用你的VM的public IP作为服务器,以及你之前得到的用户名和密码。

创建发布配置文件后,您可以使用this answer忽略您想要的目录。

此解决方案的缺点是当您的 VM public IP 更改时您需要更新目标 IP。

P.S。 Google Cloud Tools for Visual Studio 的下一版本将调用 MSBuild,而不是直接调用 MSDeploy,因此您可以通过更改构建文件来忽略该文件夹。