Развертывание пакетов решений (SharePoint Server 2010)
Применимо к: SharePoint Server 2010
Последнее изменение раздела: 2016-11-30
В этой статье описываются пакеты решений и их роль в развертывании разработанных настроек в Microsoft SharePoint Server 2010. Здесь представлены процедуры импорта и развертывания пакетов решений и пример создания и развертывания пакета решений с помощью Microsoft Visual Studio 2010.
Содержание:
Описание пакета решений
Развертывание элементов сайта при помощи пакетов решений
Создание и развертывание пакета решений и настраиваемых веб-частей с помощью Visual Studio 2010
Пакет решений представляет собой распространяемый пакет, содержащий разработанные пользователем элементы SharePoint Server 2010 для веб-серверов и серверов приложений в ферме. Решения используются для упаковки и развертывания пользовательских компонентов, определений сайтов, шаблонов, страниц макетов, каскадный таблиц стилей и сборок.
В этой статье не обсуждается развертывание изолированных решений. Решение Microsoft SharePoint Server 2010 можно развернуть непосредственно в ферме SharePoint Server или в изолированной среде ("песочнице"). Изолированная среда — это ограниченная среда, которая предоставляет программам доступ только к определенным ресурсам и не позволяет возникающим неполадкам влиять на остальную среду серверов. Дополнительные сведения см. в статье Общие сведения об изолированных решениях (SharePoint Server 2010).
Пакет решения представляет собой CAB-файл с расширением WSP и файл манифеста. Для разработки и упаковки решений SharePoint рекомендуется использовать средства Visual Studio 2010 Tools для SharePoint 2010. Чтобы создать пакеты решений вручную, следует воспользоваться такими средствами, как Makecab.exe и SharePoint Packman.
В решение могут быть включены следующие компоненты.
Сборки .NET Framework, сборки веб-частей и сборки приемника событий.
Файлы развертывания, такие как файлы ресурсов, страницы или другие вспомогательные файлы.
Компоненты, позволяющие включать или отключать код на веб-сайте и предоставляющие функциональность, включающую такие элементы, как настраиваемые списки, библиотеки, поля и типы контента.
Новые шаблоны и определения сайтов.
Пользовательские настройки, которые требуется выполнить на уровне веб-сервера, например развертывание настроек файлов Web.config для регистрации веб-частей. Также можно изменить эти настройки с помощью компонента, распространяемого с компонентом.
Веб-контент, например веб-страницы и изображения, вызываемые веб-страницами. Если веб-контент нужно развернуть в отключенной среде, необходимо использовать пакет развертывания контента.
В этой статье:
Случаи использования пакетов решений
Развертывание ферменных решений
Импортирование пакета решений
Развертывание пакета решений
Сведения о создании пакета решений
Для развертывания пользовательских настроек рекомендуется использовать пакеты решений в виде части простого, безопасного и согласованного процесса управления жизненным циклом приложений. Пакеты решений упрощают смену компонентов и функций сайтов после создания сайтов.
Пакеты решений используются для развертывания новых и обновления существующих решений в ферме. Все экземпляры SharePoint Server можно упаковать как один файл, добавить файл в хранилище решений и развернуть его на интерфейсных веб-серверах фермы. Пакет решений используется для синхронизации интерфейсного веб-сервера для обеспечения согласованности его состояния с состоянием других веб-серверов в ферме.
Пакеты решений используются для развертывания настроек авторских элементов сайта из фермы интеграции в пилотную ферму, ферму разработки или производства. В SharePoint Server пользователи могут сохранить настроенный сайт в виде шаблона. При этом создается пакет решений с расширением файла WSP, который можно развернуть на другой ферме.
Пакеты решений можно использовать для развертывания настроек между следующими средами:
Из рабочих станций в ферму интеграции или систему управления конфигурацией программного обеспечения.
Из фермы интеграции и клиентских рабочих станций авторов в пилотные или производственные фермы.
Решения для ферм развертываются локально или с помощью службы таймера. Для запуска этих видов развертывания используются инструкции командной строки или программный способ с объектной моделью.
Локальное развертывание
При локальном развертывании файлы решения развертываются только на том компьютере, с которого была инициирована операция развертывания. Решение не помечается в базе данных конфигурации как "развернуто" до тех пор, пока файлы решения не будут развернуты на всех доступных серверах фермы. После этого устанавливаются компоненты решения, а файлы схем и файлы определений фиксируются в хранилище конфигурации.
Развертывание службой таймера
Когда развертывание выполняется с помощью службы таймера, оно создает задание таймера. Это задание выполняется службой таймера на каждом веб-сервере фермы. Сначала выполняется анализ манифеста и манифестов компонентов с целью найти файлы сборок и файлы _layouts, которые копируются в соответствующее расположение. Все остальные файлы, которые должны находиться в каталоге компонента, копируются в каталог компонента. После того как файлы решения скопированы на целевые компьютеры, планируется операция смены конфигурации для всех интерфейсных веб-серверов, при выполнении которой разворачиваются файлы и перезапускаются службы IIS. Затем компоненты решения регистрируются, а файлы схем и файлы определений фиксируются в хранилище конфигурации.
Дополнительные сведения о хранении, развертывании и синхронизации решений см. в разделе Развертывание решения (Возможно, на английском языке) (https://go.microsoft.com/fwlink/?linkid=186995&clcid=0x419) (Возможно, на английском языке) в SDK Microsoft SharePoint 2010.
Перед развертыванием пакета решений необходимо добавить его в базу данных решений фермы SharePoint Server.
Важно!
Необходимо входить в группу "Администраторы" любого компьютера, где работает Windows PowerShell.
Импортирование пакета решений с помощью Windows PowerShell
Убедитесь, что выполняются следующие минимальные требования: См. статью Add-SPShellAdmin..
В меню Пуск выберите пункт Все программы.
Выберите пункт Продукты Microsoft SharePoint 2010.
Щелкните компонент Командная консоль SharePoint 2010.
В командной строке Windows PowerShell введите следующую команду:
Add-SPSolution -LiteralPath <SolutionPath>
Решение добавляется в базу данных решений в ферме. Для использования решения следуйте указаниям, приведенным в следующем разделе этой статьи. Дополнительные сведения см. в разделе Add-SPSolution.
Импортированные решения можно развернуть при помощи веб-сайта центра администрирования или при помощи Windows PowerShell. После добавления решения в хранилище решений при помощи командлета Windows PowerShellAdd-SPSolution, его необходимо развернуть на сайте, прежде чем оно станет доступным.
Примечание
Решение нельзя добавить в хранилище решений с помощью страницы "Управление решениями" в центре администрирования.
В следующих процедурах показано, как развернуть импортированное решение на сайте в ферме с помощью как веб-сайта центра администрирования, так и Windows PowerShell.
Развертывание решения при помощи центра администрирования
На главной странице центра администрирования щелкните Параметры системы.
В разделе Управление фермой выберите пункт Управление решениями фермы.
На странице "Управление решениями" щелкните решение, которое требуется развернуть.
На странице "Свойства решения" нажмите кнопку Развернуть решение.
На странице "Развернуть решение" в разделе Когда развернуть выберите один из следующих вариантов.
Сейчас
В указанное время При выборе этого параметра задайте время при помощи полей даты и времени. Рекомендуется выбирать такое время, когда загрузка на целевых серверах низка.
В разделе Развернуть?, в списке Определенное веб-приложение щелкните Все веб-приложения или выберите конкретное веб-приложение.
Нажмите кнопку ОК.
Развертывание пакета решений в одном веб-приложении с помощью Windows PowerShell
Проверьте, выполняются ли следующие минимальные требования: См. статью Add-SPShellAdmin.
В меню Пуск выберите пункт Все программы.
Выберите пункт Продукты Microsoft SharePoint 2010.
Щелкните компонент Командная консоль SharePoint 2010.
В командной строке Windows PowerShell введите следующую команду:
Install-SPSolution -Identity <SolutionName> -WebApplication <URLname>
Здесь:
SolutionName — имя решения.
URLname — URL-адрес веб-приложения, в котором требуется развернуть импортированное решение.
По умолчанию решение развертывается сразу. С помощью параметра time можно установить время развертывания. Дополнительные сведения см. в разделе Install-SPSolution.
Развертывание пакета решений во всех веб-приложениях с помощью Windows PowerShell
Проверьте, выполняются ли следующие минимальные требования: См. статью Add-SPShellAdmin.
В меню Пуск выберите пункт Все программы.
Выберите пункт Продукты Microsoft SharePoint 2010.
Щелкните компонент Командная консоль SharePoint 2010.
В командной строке Windows PowerShell введите следующую команду:
Install-SPSolution -Identity <SolutionName> -AllWebApplications -time <TimeToDeploy> -GACDeployment -CASPolicies
Здесь:
GACDeployment — это параметр, позволяющий SharePoint Server 2010 развертывать сборки в глобальном кэше сборок.
Параметр CASPolicies позволяет создать файл политики безопасности доступа к пользовательскому коду (CAS) и активировать его в файле Web.config целевого семейства веб-сайтов.
По умолчанию решение развертывается сразу же. Но при помощи параметра time можно указать время развертывания.
В состав SharePoint Server 2010 не входит средство для создания пакетов решений. В этом разделе описаны способы создания пакетов решений с разработанными элементами сайта и артефактами.
Visual Studio 2010
Visual Studio 2010 используется для группировки связанных элементов SharePoint в компонент и последующего объединения нескольких компонентов, определений сайтов, сборок и других файлов в один пакет (файл WSP) для развертывания на серверах с SharePoint Server 2010. Visual Studio 2010 применяется для отладки и тестирования файлов WSP на сервере под управлением SharePoint Server 2010 на компьютере для разработки. На этом компьютере можно настроить этапы развертывания.
Разработчики могут создавать решения SharePoint в Visual Studio 2010 и генерировать WSP-файлы с помощью автоматического процесса. Исходный код проекта Visual Studio SharePoint, используемый для создания WSP-файла, можно добавить в систему управления исходным кодом с помощью интеграции Visual Studio 2010. Visual Studio 2010 импортирует WSP-файлы и создает проекты для их дальнейшего расширения и создания новых WSP-файлов. Основным источником WSP-файлов, импортированных в Visual Studio 2010, являются шаблоны, сохраненные с сайтов с помощью команды "Сохранить как шаблон" на сайтах SharePoint Server 2010. Эти шаблоны можно использовать для сохранения всех настроек сайта в решении SharePoint.
Дополнительные сведения см. в разделе Разработка SharePoint в Visual Studio (https://go.microsoft.com/fwlink/?linkid=187000&clcid=0x419).
Makecab
Пакеты решений можно создать вручную с помощью средства Makecab.exe. Средство Makecab.exe принимает указатель на DDF-файл, который описывает структуру CAB-файла. По формату DDF-файл напоминает INF-файл, то есть сначала создается стандартный заголовок, а затем перечисляется набор файлов (по одному в строке) с указанием их расположения на диске и в CAB-файле.
Средство Makecab.exe доступно для загрузки на странице Пакет SDK для Microsoft Cabinet (Возможно, на английском языке) (https://go.microsoft.com/fwlink/?linkid=107292&clcid=0x419) (Возможно, на английском языке).
SharePoint PackMan
SharePoint PackMan — это средство, упрощающее процесс упаковки решений SharePoint и управления ими. Перетаскивайте файлы в средство и оно создаст DDF-файл и файл manifest.xml и выполнит Makecab.exe в командной строке. SharePoint PackMan также упрощает добавление, развертывание, отмену и удаление одного или нескольких решений в ферме, в веб-приложениях или семействах веб-сайтов.
Средство SharePoint PackMan доступно для загрузки на странице CodeBox: https://codebox/sppackman (https://go.microsoft.com/fwlink/?linkid=107292&clcid=0x419) (Возможно, на английском языке).
Если в решениях SharePoint Server 2010 требуется выполнить следующие настройки, рекомендуется использовать Visual Studio 2010. Для осуществления настроек можно вручную создать пакеты решений SharePoint.
Развертывание сборок .NET Framework в личной папке приложения вместо глобального кэша сборок.
Добавление разрешений безопасности для доступа к коду решения, которое требуется применить во время развертывания.
Использованием имен, отличных от имен по умолчанию папок компонентов.
Локализация решения.
Связывание обработчиков событий компонентов с определенными типами решений SharePoint Foundation 2010, такими как решения веб-частей.
Все ресурсы (XML-файлы, изображения, DLL-файлы и сборки) для пакета решения.
В большинстве сценариев развертывания SharePoint Server 2010 рекомендуется использовать средства Visual Studio 2010 Tools для SharePoint 2010 для разработки и упаковки решений SharePoint. В Visual Studio 2010 в ходе процесса развертывания WSP-файл копируется на сервер с SharePoint Server 2010, выполняется установка решения и активация компонентов.
Файл решения можно создать вручную. Далее представлены основные действия по созданию файла решения.
Сбор всех отдельных файлов решения в папку. Определенные указания по этому действию отсутствуют, но рекомендуется распределять различные типы файлов решения по соответствующим им вложенным папкам.
Создание файла manifest.xml со списком компонентов решения.
Создание DDF-файла, определяющего структуру файла решения. Этот файл содержит список отдельных файлов решения, которые определяют конечный WSP-файл.
Выполнение средства Makecab.exe с DDF-файлом в качество входного и WSP-файлом в качестве выходного.
Манифест решения (он всегда называется manifest.xml) хранится в корневом каталоге файла решения. Этот файл определяет список компонентов, определений сайта, файлов ресурсов, файлов веб-частей и сборок для обработки. Он не определяет структуру файлов — если файлы включены в решение, но не указаны в файле manifest.xml, они не обрабатываются.
Далее приводится пример структуры файла manifest.xml в формате XML.
<?xml version="1.0" encoding="utf-8" ?>
<Solution xmlns="https://schemas.microsoft.com/sharepoint/"
SolutionId="{79d1a62e-3627-11db-963e-00e08161165f}"
ResetWebServer="TRUE">
<Assemblies>
<Assembly DeploymentTarget="GlobalAssemblyCache"
Location="Example.Sharepoint.Webparts\
Example.SharePoint.WebParts.dll">
<SafeControls>
<SafeControl Assembly="Example.Sharepoint.Webparts,
Version=1.0.0.0, Culture=Neutral, PublicKeyToken=63cce650e8605f5d"
Namespace="Example.Sharepoint.Webparts" TypeName="*"/>
</SafeControls>
</Assembly>
<Assembly DeploymentTarget="GlobalAssemblyCache"
Location="Example.Sharepoint.Timer/Example.Sharepoint.Timer.dll"/>
</Assemblies>
<FeatureManifests>
<FeatureManifest Location="Example.Sharepoint.Timer\Feature.xml"/>
<FeatureManifest Location="Example.CustomType\Feature.xml"/>
<FeatureManifest Location="Example.ExampleLibrary\Feature.xml"/>
<FeatureManifest Location="Example.Columns\Feature.xml"/>
<FeatureManifest Location="Example.Workflow.ProcessExample\Feature.xml"/>
<FeatureManifest Location="Example.Workflow.ProvisionExample\Feature.xml"/>
</FeatureManifests>
<SiteDefinitionManifests>
<SiteDefinitionManifest Location="EXAMPLE">
<WebTempFile Location="1033\XML\WEBTEMPExample.XML"/>
</SiteDefinitionManifest>
</SiteDefinitionManifests>
</Solution>
Также можно добавить элемент DwpFiles для указания файлов WEBPART или DWP, или элемент ResourceFiles для указания файлов ресурсов, определений сайта, ресурсов приложения и политик безопасности для доступа к коду.
Кроме того, можно создать примечания в файле Feature.xml при помощи тегов <ElementFile>.
Если решение содержит компоненты, в тег <ElementManifests> в файле Feature.xml добавьте <ElementFile Location="..."/>
для всех других файлов в компоненте, таких как страницы ASP.NET (например, allitems.aspx) или главные страницы и так далее.
Дополнительные сведения о файлах манифестов решений, определяющих разные части решения, см. в разделе Схема решений (Возможно, на английском языке) (https://go.microsoft.com/fwlink/?linkid=183466&clcid=0x419) (Возможно, на английском языке).
Пример пошагового руководства, описывающего использование Visual Studio 2010 для создания, настройки, отладки и развертывания определения списка SharePoint с целью отслеживания задач по проекту, см. в статье Пошаговое руководство. Развертывание определения списка задач по проекту (https://go.microsoft.com/fwlink/?linkid=189612&clcid=0x419) в библиотеке MSDN.
В этом пошаговом руководстве представлены следующие задачи.
Создание проекта определения списка SharePoint, содержащего задачи.
Добавление определения списка в компонент SharePoint.
Добавление приемника событий в список.
Создание и настройка пакета SharePoint для развертывания компонента.
Создание и развертывание решения SharePoint.
При создании примера плана по данному руководству Visual Studio 2010 автоматически развертывает решение на сервере под управлением SharePoint Server 2010 на компьютере разработчика с целью тестирования и отладки. Можно также создать файл пакета решения, который добавляется или развертывается на другом компьютере. Дополнительные сведения см. в статье Инструкции по развертыванию решения SharePoint (https://go.microsoft.com/fwlink/?linkid=187004&clcid=0x419). Для импорта решения на другой компьютер можно использовать командлет Add-SPSolutionWindows PowerShell.
Страница Управление решением в центре администрирования может использоваться для развертывания пакета решений. Пакет решений можно также развернуть с помощью командлета Install-SPSolutionWindows PowerShell.
В пошаговом руководстве компонент списка проекта работает в Интернете. Для активирования компонента необходимо на сайте развернуть меню Действия сайта и выбрать Параметры сайта. В разделе Действия сайта выберите Управление компонентами сайта. На странице компонентов рядом с именем компонента нажмите кнопку Активировать.