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



我有一个项目,我正在Visual Studio 2015中通过Google Cloud Tools for Visual Studio部署到Google Compute Engine。

除了一件事之外,这一切都运行良好:

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

问题所在

当我发布时,上传的资产文件夹中的某些文件会在活动站点上被删除。

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

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

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

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

现在创建配置文件。右键单击您的项目,然后选择"发布..."。选择">IIS,FTP等",然后按"创建配置文件"。使用 VM 的公共 IP 作为服务器,以及之前获取的用户名和密码。

创建发布配置文件后,您可以使用此答案忽略所需的目录。

此解决方案的缺点是,当 VM 的公共 IP 发生更改时,需要更新目标 IP。

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

最新更新