代码之家  ›  专栏  ›  技术社区  ›  scgough

通过visual studio发布到google云计算引擎-删除实时文件

  •  1
  • scgough  · 技术社区  · 6 年前

    我有一个在visual studio 2015中通过googlecloudtoolsforvisualstudio部署到google计算引擎的项目。

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

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

    问题

    当我发布时,“上载的资源”文件夹中的某些文件将在实时网站上被删除。

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

    1 回复  |  直到 6 年前
        1
  •  1
  •   ILMTitan    6 年前

    至于googlecloudtoolsforvisualstudioversion1.4.0,不,没有好的方法可以做到这一点。扩展名正在使用一组硬编码参数调用msdeploy。

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

    在创建配置文件之前,您需要GCE虚拟机的公共IP,以及该虚拟机的用户名和密码设置。你可以从google cloud explorer获得这些。公用IP位于虚拟机的属性中,您可以从虚拟机的上下文菜单中的“管理Windows凭据…”获取用户名和密码。

    现在创建配置文件。右键单击项目,然后选择 “发布…” 是的。选择 IIS、FTP等 并推动 “创建配置文件” 是的。使用vm的公共ip作为服务器,以及之前获得的用户名和密码。

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

    此解决方案的缺点是,当虚拟机的公共IP更改时,您需要更新目标IP。

    p.s.下一个版本的google cloud tools for visual studio将调用msbuild,而不是直接调用msdeploy,因此您可以通过更改生成文件来忽略该文件夹。