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



我正在为一个客户进行SP2013项目,我需要为开发、测试和生产设置一个工作环境。为了简单起见,我们假设这项工作只包括各种自定义(列表、库、应用程序、主题等),而没有代码。

我的设置如下:生产环境位于客户站点上的一些服务器上测试环境在Azure中设置开发环境在我的电脑上的虚拟机上

现在,让我们假设在每个环境中都正确设置了所有内容,并且我希望能够支持以下任务:

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

我希望尽可能平稳高效地执行这些任务,尤其是在从开发到测试的部署中,这是经常做的。从测试到生产的部署不会经常进行,因此可以容忍更多的手动工作。

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

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

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

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

至于原生选项,我仍在摸索,但以下是我的建议:

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

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

  • 对于一次性网站,我创建了一个开发网站,对其进行了配置,然后使用内置的SharePoint备份和恢复将其部署到prod。随后的更改已在开发中创建,然后手动应用于测试和prod。根据自定义情况,这相当耗时。您可以将其与ShareGate等工具相结合,以自动将单个工件(如自定义列表)从一个环境部署到另一个环境。

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

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

我完成了为我维护的SharePoint 2013生产环境设置开发环境的工作。最后一步是将我的生产内容转移到我的开发环境中。我不得不四处寻找PowerShell等。我决定写一篇关于它的博客,这样我就可以把所有的步骤都放在一个地方。

第一步是备份要恢复到开发中的内容数据库。要执行此操作,请打开SQL Server Management Studio,右键单击要备份的数据库,将鼠标悬停在任务上,然后选择备份。您将看到"备份数据库"窗口。请确保您的备份类型设置为"完全",为备份指定一个名称或使用默认名称,并记下或更改目标。

如果已运行定时备份并且能够访问备份驱动器,则可以跳过这些步骤。在这种情况下,只需获取最新完整备份的副本,并将其复制到您的开发SQL Server中。

下一步是将数据库恢复到开发阶段。要执行此操作,请在开发环境中打开SQL Server Management Studio,右键单击"数据库"文件夹,然后选择"还原数据库"。出现"恢复数据库"窗口时,单击设备单选按钮,然后单击文本框旁边的省略号。这将打开"选择备份设备"窗口。从那里单击"添加",找到备份文件并单击"确定",再次单击"OK"返回到"还原数据库"窗口,最后单击"OK(确定)"。现在您的数据库已经还原,您可以将其添加到SharePoint。

如果你还没有一个包含你不关心的内容的应用程序,那么创建一个新的Web应用程序…

https://sharepointv15.wordpress.com/2012/07/24/create-a-web-application-in-sharepoint-2013/

不要担心创建网站集。

现在转到"管理中心",然后单击"应用程序管理"下的"管理内容数据库"。

rsd1

请确保选择了正确的Web应用程序。如果没有单击Web应用程序名称旁边的下拉箭头,请单击"更改Web应用程序",然后在显示的窗口中选择正确的Web应用程序。

rsd2

下一次点击内容数据库名称

在"管理内容数据库设置"屏幕上向下滚动,单击"删除内容数据库"复选框,在弹出的警告中单击"确定",然后单击屏幕底部的"确定"。

rsd3

现在,您需要以管理员身份打开SharePoint 2013命令行管理程序。要执行此操作,请单击"开始"菜单,单击所有程序,单击Sharepoint 2013文件夹,右键单击Sharepoint 2013命令行管理程序,然后选择"以管理员身份运行"。

从这里,您将运行Mount SPContentDatabase cmdlet

装载SPContentDatabase"MyDatabase"-DatabaseServer"MyServer"-WebApplicationhttp://sitename

单击下面获取有关此cmdlt…的详细信息

http://technet.microsoft.com/en-us/library/ff607581.aspx

此时,您应该能够导航到web应用程序URL,并查看您刚刚安装的数据库中的网站集。

注意:这将适用于SharePoint 2010或SharePoint 2013。但是,数据库必须与您尝试装载到的服务器场的SharePoint版本相同。如果是较低版本,它将自动尝试升级,请记住这一点。请点击下面的链接。

https://sharepointv15.wordpress.com/2013/03/21/moving-content-between-environments/

最新更新