Развертывание пакетов решений (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

  1. Убедитесь, что выполняются следующие минимальные требования: См. статью Add-SPShellAdmin..

  2. В меню Пуск выберите пункт Все программы.

  3. Выберите пункт Продукты Microsoft SharePoint 2010.

  4. Щелкните компонент Командная консоль SharePoint 2010.

  5. В командной строке Windows PowerShell введите следующую команду:

    Add-SPSolution -LiteralPath <SolutionPath>
    

Решение добавляется в базу данных решений в ферме. Для использования решения следуйте указаниям, приведенным в следующем разделе этой статьи. Дополнительные сведения см. в разделе Add-SPSolution.

Развертывание пакета решений

Импортированные решения можно развернуть при помощи веб-сайта центра администрирования или при помощи Windows PowerShell. После добавления решения в хранилище решений при помощи командлета Windows PowerShellAdd-SPSolution, его необходимо развернуть на сайте, прежде чем оно станет доступным.

Примечание

Решение нельзя добавить в хранилище решений с помощью страницы "Управление решениями" в центре администрирования.

В следующих процедурах показано, как развернуть импортированное решение на сайте в ферме с помощью как веб-сайта центра администрирования, так и Windows PowerShell.

Развертывание решения при помощи центра администрирования

  1. На главной странице центра администрирования щелкните Параметры системы.

  2. В разделе Управление фермой выберите пункт Управление решениями фермы.

  3. На странице "Управление решениями" щелкните решение, которое требуется развернуть.

  4. На странице "Свойства решения" нажмите кнопку Развернуть решение.

  5. На странице "Развернуть решение" в разделе Когда развернуть выберите один из следующих вариантов.

    • Сейчас

    • В указанное время При выборе этого параметра задайте время при помощи полей даты и времени. Рекомендуется выбирать такое время, когда загрузка на целевых серверах низка.

  6. В разделе Развернуть?, в списке Определенное веб-приложение щелкните Все веб-приложения или выберите конкретное веб-приложение.

  7. Нажмите кнопку ОК.

Развертывание пакета решений в одном веб-приложении с помощью Windows PowerShell

  1. Проверьте, выполняются ли следующие минимальные требования: См. статью Add-SPShellAdmin.

  2. В меню Пуск выберите пункт Все программы.

  3. Выберите пункт Продукты Microsoft SharePoint 2010.

  4. Щелкните компонент Командная консоль SharePoint 2010.

  5. В командной строке Windows PowerShell введите следующую команду:

    Install-SPSolution -Identity <SolutionName> -WebApplication <URLname>
    

    Здесь:

    • SolutionName — имя решения.

    • URLname — URL-адрес веб-приложения, в котором требуется развернуть импортированное решение.

    По умолчанию решение развертывается сразу. С помощью параметра time можно установить время развертывания. Дополнительные сведения см. в разделе Install-SPSolution.

Развертывание пакета решений во всех веб-приложениях с помощью Windows PowerShell

  1. Проверьте, выполняются ли следующие минимальные требования: См. статью Add-SPShellAdmin.

  2. В меню Пуск выберите пункт Все программы.

  3. Выберите пункт Продукты Microsoft SharePoint 2010.

  4. Щелкните компонент Командная консоль SharePoint 2010.

  5. В командной строке 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, выполняется установка решения и активация компонентов.

Файл решения можно создать вручную. Далее представлены основные действия по созданию файла решения.

  1. Сбор всех отдельных файлов решения в папку. Определенные указания по этому действию отсутствуют, но рекомендуется распределять различные типы файлов решения по соответствующим им вложенным папкам.

  2. Создание файла manifest.xml со списком компонентов решения.

  3. Создание DDF-файла, определяющего структуру файла решения. Этот файл содержит список отдельных файлов решения, которые определяют конечный WSP-файл.

  4. Выполнение средства 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

Пример пошагового руководства, описывающего использование 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.

В пошаговом руководстве компонент списка проекта работает в Интернете. Для активирования компонента необходимо на сайте развернуть меню Действия сайта и выбрать Параметры сайта. В разделе Действия сайта выберите Управление компонентами сайта. На странице компонентов рядом с именем компонента нажмите кнопку Активировать.