部署创作的网站元素 (SharePoint Server 2010)

 

适用于: SharePoint Server 2010

上一次修改主题: 2016-11-30

本文讨论了在 Microsoft SharePoint Server 2010 中对创作的网站元素自定义项进行的部署,其中包括部署过程、一般注意事项以及与部署自定义内容相关的最佳方案。

本文内容:

  • 关于部署创作的网站元素

  • 开始之前

  • 使用内容部署作业部署内容

  • 使用内容迁移 API 部署内容

  • 使用 Windows PowerShell 创建内容部署包

关于部署创作的网站元素

可将创作的网站元素视为网站中的“内容”。它们是构成 SharePoint Server 2010 网站的网页、图像、布局页、级联样式表和其他资源。创作的网站元素包括:

  • **项目   **这些网站元素通常是使用 Microsoft SharePoint Designer 2010 等设计工具创作的,并构成网站内容的显示框架。母版页和布局就属于项目。

  • **Web 内容   **这些网站元素通常是在 Web 浏览器或客户端创作程序(如 Word 2010)中直接创作的,用于提供网站的内容。网页和图像就属于 Web 内容。

本文不讨论对开发的网站元素(如 Web 部件和其他代码)的部署。有关详细信息,请参阅部署解决方案包 (SharePoint Server 2010)部署模板 (SharePoint Server 2010)

可通过多种方法来部署创作的网站元素:

  • 内容部署是一类内置系统,可利用它在管理中心网站中创建内容部署作业。内容部署用于定期更新内容或将内容移动到目标网站集。

  • 使用对象模型可处理各种方案,例如编写脚本以自动化常见任务和设置符合部署要求的导出和导入自定义属性。利用对象模型,可对数据迁移方案进行最大控制。

  • 内容部署包用于将内容一次性移动或迁移到目标网站集。内容部署包是一些 CAB 文件,它们可以包含网站中的部分或所有创作的网站元素。Windows PowerShell cmdlet 用于创建内容部署包。

备注

本文不讨论如何使用解决方案包将自定义 SharePoint Server 2010 开发工作交付给服务器场中的前端 Web 服务器或应用程序服务器。利用解决方案包,可以在断开连接的环境中部署项目,也可以在同一个包中部署项目和开发的网站元素。有关详细信息,请参阅部署解决方案包 (SharePoint Server 2010)

何时使用内容部署功能

SharePoint Server 2010 中的内容部署功能提供了一种简单有效的方法,可自动化从一个服务器场到另一个服务器场的内容部署。对于内容在发布之前处于暂存状态的方案,可以使用内容部署功能在暂存环境和生产环境之间移动项目和内容。

可以使用内容部署功能在下面的一个或两个方案中部署创作的网站元素:

  • 连接的环境   只能在连接的环境(即源服务器场和目标服务器场可以通过网络进行通信的环境)中使用内容部署功能。

  • 自动化的环境   如果要自动将创作的网站元素从一个服务器场部署到另一个服务器场,可以使用内容部署功能提供的内置系统来设置自动化部署作业。

内容部署功能可用于在创作网站和多目标网站之间部署创作的网站元素自定义项。最佳做法是,在创作网站和暂存网站/试验环境之间部署自定义项。如果通过测试确认,所有网站元素能够在吻合生产环境的网络和安全条件下按预期工作,则可以将自定义项从创作网站部署到生产环境。

备注

内容部署总是单向的。它是一个“单母版”系统,并且总是从一个源服务器场或网站集移动到一个目标服务器场或网站集。

有关如何规划将内容部署与 SharePoint Server 2010 网站一起使用的一般指南,请参阅规划内容部署 (SharePoint Server 2010)

何时使用内容部署包

可使用内容部署包在下面的一个或多个方案中部署创作的网站元素:

  • 单次内容迁移   使用内容部署包可只将内容移动到目标网站集一次。如果打算定期更新目标网站集上的内容,请使用内容部署功能或内容迁移 API。

  • 断开连接的环境   如果服务器场断开连接,则可创建一个内容部署包以便异步传输到集成服务器场。

  • 示例内容   如果需要将创作的网站元素自定义项从创作环境部署到集成环境以便将其用作开发示例,则可以使用内容部署包来简化此过程。

开始之前

若要消除潜在的同步问题,您通常必须在部署创作的网站元素之前部署开发的网站元素。在进行内容部署之前,必须安装场解决方案和 Web 应用程序解决方案并将其部署到目标服务器场。另请注意,您必须在目标服务器上安装源服务器上正在使用的任何语言包;如果未能安装必需的语言包,则内容部署将失败。

在执行本文中所述的过程之前,您应熟悉有关网站元素自定义项部署的概念。有关规划和设计网站和网站集的详细信息,请参阅基本网站规划 (SharePoint Server 2010)。此外,请下载 Excel 版本的内容部署规划工作表(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=167835&clcid=0x804)(该链接可能指向英文页面)。

使用内容部署作业部署内容

可以使用内容部署作业在通过网络连接的各个服务器场之间部署内容。在很多自定义环境中,内容部署作业将按照固定时间间隔在服务器场之间运行。例如,内容部署作业可能会在每天晚上将创作场中开发的所有自定义项部署到集成场中。这使得作者和创作服务器场管理员无需手动迁移自定义项,并且您可以安排迁移的时间,使其与将自定义项从开发人员工作站部署到集成场的时间保持一致,从而确保按照适当的顺序部署这些自定义项。

执行以下过程以配置自动内容部署。

配置自动内容部署

  1. 在目标服务器场上,创建一个用来接收初始内容部署作业的空白网站。不要将模板应用于创建的网站。在 SharePoint Server 2010 中,不能将内容部署到已应用任何空白模板的网站。

  2. 在目标服务器场上,在 SharePoint 管理中心的“内容部署设置”页上,将服务器场配置为接受传入部署作业,指定一个前端 Web 服务器作为导入服务器来管理传入部署作业,并指定是否需要对源服务器场和目标服务器场之间的连接进行加密。

  3. 在源服务器场的“内容部署设置”页上,指定一个 Web 服务器作为导出服务器来管理传出的部署作业。

  4. 在源服务器场的管理中心的“管理内容部署路径和作业”页上,创建一个或多个部署路径。

  5. 在源服务器场的“管理内容部署路径和作业”页上,为每个路径创建一个或多个部署作业。

  6. 运行初始部署作业以开始在目标服务器场上部署内容。

  7. 如果路径不部署所有安全信息,则应在目标服务器场中复制源服务器场的用户、SharePoint 组以及针对内容和网站的权限。

有关如何规划自动内容部署的详细信息,请参阅规划内容部署 (SharePoint Server 2010)

使用内容迁移 API 部署内容

通过使用管理中心可实现大多数部署方案,而无需使用脚本。但可使用对象模型来处理其他方案,例如编写脚本以自动化常用任务,以及设置您在使用 SharePoint 管理中心网站设置部署时无法配置的导出和导入自定义属性。也可以创建代码以便在源服务器场和目标服务器场之间的连接可能受限制或不可用的情况下导出和导入内容包。

有关内容迁移和内容迁移 API 的详细信息,请参阅内容迁移概述 (https://go.microsoft.com/fwlink/?linkid=187033&clcid=0x804)。有关内容部署功能和生成并实现自定义部署解决方案所需的后台和资源的概述,请参阅在服务器之间部署内容(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=181466&clcid=0x804)(该链接可能指向英文页面)。有关演示如何使用对象模型创建在网站集之间部署内容的路径和作业的代码示例,请参阅如何:在服务器间部署内容(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=187034&clcid=0x804)(该链接可能指向英文页面)。有关如何使用内容迁移 API 来导出和导入内容包的代码示例和信息,请参阅如何:为断开连接的情况自定义部署 (https://go.microsoft.com/fwlink/?linkid=181076&clcid=0x804)(该链接可能指向英文页面)。

使用 Windows PowerShell 创建内容部署包

可以使用 Windows PowerShell 创建内容部署包,其中包含整个网站(包括网站中的所有内容)的创作网站元素、列表或文档库。

备注

使用内容部署包以便将内容一次性迁移到目标网站集。使用内容部署功能或内容迁移 API 可定期将内容从源网站集移动到目标网站集。

内容部署包将作为 CMP(内容迁移包)文件实现。从源服务器导出此包,然后将其导入目标服务器中。可以同时在连接的环境和断开连接的环境中使用该内容部署方法。

如果使用的是软件配置管理系统,请按照导出内容部署包的步骤执行操作,然后使用适用于软件配置管理系统的过程来保存导出的文件。

使用 Windows PowerShell 创建内容部署包

  1. 验证您是否满足以下最低要求:请参阅 Add-SPShellAdmin

  2. 在“开始”菜单上,单击“所有程序”。

  3. 单击“Microsoft SharePoint 2010 产品”。

  4. 单击“SharePoint 2010 Management Shell”。

  5. 在 Windows PowerShell 命令提示符处,键入以下命令:

    Export-SPWeb -Identity <URLname> -path <ExportFileName> -IncludeUserSecurity -IncludeVersions 4 -NoFileCompression
    

    其中:

    • <URLname> 是要导出的网站。此网站将与其下方的所有子网站一起写入内容部署包中。

    • IncludeUserSecurity 使新网站具有与原网站相同的权限。

    • IncludeVersions 设置为 4 可指定应包含的所有版本。

    • NoFileCompression 使内容部署包以未压缩的文件夹而非单个 CAB 文件的形式输出。虽然这会导致将部署包部署到其他服务器的过程更为复杂,但使您能够更加轻松地编辑各个文件。

有关详细信息,请参阅 Export-SPWeb

备注

我们建议您在执行命令行管理任务时使用 Windows PowerShell。Stsadm 命令行工具已被弃用,仍然包含该工具是为了支持与之前产品版本的兼容性。

使用 Windows PowerShell 导入内容部署包

  1. 验证您是否满足以下最低要求:请参阅 Add-SPShellAdmin

  2. 在“开始”菜单上,单击“所有程序”。

  3. 单击“Microsoft SharePoint 2010 产品”。

  4. 单击“SharePoint 2010 Management Shell”。

  5. 在 Windows PowerShell 命令提示符处,键入以下命令:

    Import-SPWeb -Identity <URLname> -path <ImportFileName> -IncludeUserSecurity
    

    其中:

    • <URLname> 是将导入的网站,此网站将与其下方的子网站一起导入。

有关详细信息,请参阅 Import-SPWeb

备注

我们建议您在执行命令行管理任务时使用 Windows PowerShell。Stsadm 命令行工具已被弃用,仍然包含该工具是为了支持与之前产品版本的兼容性。