sharepoint-2013 - SharePoint 2013 开发/测试/生产环境 - 移动内容的最佳实践

标签 sharepoint-2013

我在为一个客户做一个SP2013的项目,需要搭建开发、测试、生产的工作环境。为了简单起见,我们假设该作品仅包含各种自定义项(列表、库、应用程序、主题等),没有代码。

我的设置如下: 生产环境在客户现场的一些服务器上 测试环境在Azure中搭建 开发环境在我PC上的虚拟机上

现在,假设每个环境中的一切都已正确设置,并且我希望能够支持以下任务:

  1. 我对我的开发环境进行了自定义,并希望将其部署到测试中供其他人测试,最好使用现有数据
  2. 在测试和 QA 之后,我想从测试部署到生产。当然,这必须只影响定制,而不影响现有数据
  3. 我时不时地想拍下生产环境的快照并将其移至测试,以便尽可能真实地部署开发中的新功能

我想尽可能顺利和高效地执行这些任务,尤其是在从开发部署到测试时,这是经常进行的。从测试到生产的部署不会经常进行,因此可以容忍一些更多的手动工作。

我知道一些可能相关的机制:

  1. 内容部署
  2. 跨站发布
  3. 内容数据库备份/恢复
  4. 将站点保存为模板,导出 wsp 并导入
  5. (不得已)手动设置每个自定义项

你们中的一些经验丰富的 SharePoint 开发人员/管理员能否就在何种情况下使用哪种机制、何时不使用它等提出一些建议?还有其他方法应该提到吗?请记住,这三个环境位于不同的物理环境中,这可能会使完全自动化的解决方案变得困难。如果我在客户站点(即同一农场的一部分)设置测试环境,会不会更容易?

最佳答案

根据您的特定定制,另一个选项可能是第三方工具。那里有很多。 ShareGate 是我个人一直用于迁移工作的一个,它似乎非常简单有效,可以在环境之间快速移动内容。适用于 SharePoint 的 Attunity Repliweb 是另一个可能值得关注的开发特定发布工作类型。

至于 native 选项,我仍在寻找自己的方式,但这是我的建议:

  • 在可能的情况下,我使用 Visual Studio 创建了解决方案包,其中包含用于部署功能 block 的功能。例如,品牌解决方案包可能包括部署自定义母版页、主题/外观文件、常用 JavaScript 库和图像的多项功能。

  • 功能部署使您可以轻松地在环境之间部署或删除功能以及在站点之间重用功能。此外,您可以将 Visual Studio 解决方案添加到源代码控制系统,例如 VS Online 或 GitHub。

  • 对于一个单独的站点,我创建了一个开发站点,对其进行了配置,然后使用内置的 SharePoint 备份和还原将其部署到生产环境。随后的更改已在开发中创建,然后手动应用于测试和生产。根据定制,这非常耗时。您可以将其与 ShareGate 等工具结合使用,以自动部署单个工件,例如从一个环境到另一个环境的自定义列表。

  • 为了移动内容,我一直在结合使用 ShareGate 来处理文档等内容,同时结合使用 Boost Solutions Excel Import 来处理列表数据。这允许我将大量列表数据导出到 excel 并轻松地将其重新导入到一个新列表中,该列表可能是我添加了新功能的副本,以准备替换旧的产品列表或者我正在填充的开发/测试列表在进行完整站点备份以恢复生产之前。

祝您好运,希望其中一些建议对您有用!我将关注这个问题,因为我也有兴趣了解管理 SharePoint 开发周期的更好方法/习惯。

关于sharepoint-2013 - SharePoint 2013 开发/测试/生产环境 - 移动内容的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18541259/

相关文章:

node.js - Sharepoint请求摘要值跨域

sharepoint - 如何安排 Sharepoint 工作流程的执行

SharePoint 错误 : The server does not allow messages larger than 2097152 bytes

Sharepoint 匿名访问匿名 Web 应用程序中的布局文件夹

c# - 如何使用 CSOM 在 Sharepoint 2013 中递归更改 ListItems 的值

c# - 创建或获取特定的 SPTimeZone 实例

javascript - 使用添加为 WebPart 的 Javascript 片段从 SharePoint 列表中检索列表项数据

javascript - 如何删除同一 Web 部件列表中所有出现的 header

sql - 将 SQL 值提取到 powershell 变量中?

javascript - SharePoint 2013 应用程序部分 - 不使用 iFrame 或 iFrame 之外的流动元素