3

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

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

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

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

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

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

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

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

4

2 回答 2

2

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

至于原生选项,我仍在寻找我的方式,但这里是我的建议:

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

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

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

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

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

于 2015-01-08T19:57:54.150 回答
0

我已完成为我维护的 SharePoint 2013 生产环境设置开发环境。最后一步是将我的生产内容移动到我的开发环境中。我不得不四处挖掘才能找到 PowerShell 等。与其下次再经历一遍,我决定写一篇关于它的博客,这样我就可以将所有步骤放在一个地方。

第一步是备份要恢复到开发的内容数据库。为此,请打开 SQL Server Management Studio,右键单击要备份的数据库,将鼠标悬停在任务上,然后选择备份。您将看到“备份数据库”窗口。确保您的备份类型设置为完整,为备份命名或坚持使用默认值,并记下或更改目标。

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

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

如果您还没有包含您不关心的内容的应用程序,请创建一个新的 Web 应用程序...</p>

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

Mount-SPContentDatabase “MyDatabase” -DatabaseServer “MyServer” -WebApplication http://sitename

点击下方了解此 cmdlt 的详细信息...</p>

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/

于 2019-08-20T20:30:30.293 回答