【问题标题】:How do you keep seperate dev environments which need to be kept in sync, in sync?您如何保持需要保持同步、同步的独立开发环境?
【发布时间】:2010-11-25 23:52:59
【问题描述】:

我正在设置两个开发环境(一个将在我的本地服务器上,另一个在云服务提供商上,我将在那里工作,这可能需要比本地服务器更多的内存)。

如何确保两个环境始终完全同步?我正在考虑集中部署应用程序并使用一种工具来同步 SQL Server 数据库,以及另一种用于保持 Sharepoint 服务器同步的工具,在两个类似的环境中的两个虚拟机之间。还有什么可以帮助实现这一目标的吗?

谢谢

【问题讨论】:

    标签: sql-server sharepoint development-environment


    【解决方案1】:

    这对于 SharePoint 开发来说是一个非常棘手的问题。

    就 SQL Server 而言(对于非 SharePoint 的东西),您可以使用 SQL Server 中提供的工具同步您的数据库。例如复制数据库向导,或者如果您需要完成自定义工作,您甚至可以编写自己的 SSIS 包。

    SharePoint 是另一回事。您不能仅通过复制数据库来将网站集/ Web 应用程序从一台服务器同步到另一台服务器,它不会工作(有很多原因,但主要是因为当您在服务器上创建 Web 应用程序时,它使用GUID 作为应用程序 ID。该 GUID 在数据库中随处使用,如果您尝试更改它,表之间的所有链接都将断开)。 SharePoint 数据库的结构没有记录,MS 建议不要手动修改它。老实说,即使您确实设法直接从 SQL Server 同步数据库,您也会遇到其他问题,因为并非您所做的所有自定义都保存到数据库中(很多东西都保存在 12 配置单元中)。

    所以这取决于你想要达到的目标。

    如果您尝试同步已编码的自定义项(即您的内容类型、列表模板、Web 部件等)。我建议您只从您的开发环境中构建 WSP 包,并在每次需要同步时部署它们。

    如果您只是尝试同步数据(即列表项),您可以使用备份/恢复解决方案(您可以在管理中心找到它)。请注意,如果您有自定义,它并不太可靠。它在开箱即用的网站上运行良好,但一旦您使用自己的列表模板等,恢复起来可能会很棘手。

    您还可以编写代码以使用web servicesContent Deployment API 进行同步,看看它是否适合您的需求。

    您还可以寻找可以为您完成全部或部分工作的工具。 Here is one

    所以基本上,无论你决定如何去做,它都不会像你想象的那么简单。 DEV/TEST/PROD 环境同步问题是 SharePoint 开发的经典问题。

    我在一个高度定制的 SharePoint Web 应用程序上工作,我们发现的最佳解决方案是:

    • 严格遵守我们的代码:通过代码进行所有自定义并使用该代码构建 WSP 包。没有 SharePoint 设计器。使用 SharePoint 设计器自定义页面后,您将无法同步任何内容。
    • 使用网络服务在任何服务器之间同步列表

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-19
      • 1970-01-01
      • 2015-01-12
      相关资源
      最近更新 更多