Развертывание пакетов решений (SharePoint Foundation 2010)

 

Применимо к: SharePoint Foundation 2010

Последнее изменение раздела: 2016-11-30

В этой статье описываются пакеты решений и их роль в развертывании разработанных настроек в Microsoft SharePoint Foundation 2010. Здесь представлены процедуры импорта и развертывания пакетов решений и пример создания и развертывания пакета решений с помощью Microsoft Visual Studio 2010.

Содержание:

  • Описание пакета решений

  • Развертывание элементов сайта с помощью пакета решений

  • Создание и развертывание настраиваемого пакета решений веб-части с помощью Visual Studio 2010

Описание пакета решений

Пакет решений представляет собой распространяемый пакет, содержащий разработанные пользователем элементы SharePoint Foundation 2010 для веб-серверов и серверов приложений в ферме. Решения используются для упаковки и развертывания пользовательских компонентов, определений сайтов, шаблонов, страниц макетов, каскадный таблиц стилей и сборок.

В этой статье не обсуждается развертывание изолированных решений. Решение Microsoft SharePoint Foundation 2010 можно развернуть непосредственно в ферме SharePoint Foundation или в изолированной среде ("песочнице"). Изолированная среда — это ограниченная среда, которая предоставляет программам доступ только к определенным ресурсам и не позволяет возникающим неполадкам влиять на остальную среду серверов. Дополнительные сведения см. в статье Обзор изолированных решений (SharePoint Foundation 2010).

Пакет решения представляет собой CAB-файл с расширением WSP и файл манифеста. Для разработки и упаковки решений SharePoint рекомендуется использовать средства Visual Studio 2010 Tools для SharePoint 2010. Чтобы создать пакеты решений вручную, следует воспользоваться такими средствами, как Makecab.exe и SharePoint Packman.

В решение могут быть включены следующие компоненты.

  • Сборки .NET Framework, сборки веб-частей и сборки приемника событий.

  • Файлы развертывания, такие как файлы ресурсов, страницы или другие вспомогательные файлы.

  • Компоненты, которым разрешено активировать или деактивировать код на веб-сайте и предоставлять функциональность, включающую такие элементы, как настраиваемые списки, библиотеки, поля и типы контента.

  • Новые шаблоны и определения сайтов.

  • Пользовательские настройки, которые требуется выполнить на уровне веб-сервера, например, развертывание пользовательских настроек в файлы Web.config для регистрации веб-частей. Эти конфигурации также можно изменять с помощью компонента, распространяемого вместе с компонентом.

  • Веб-контент, например веб-страницы и изображения, вызываемые веб-страницами. Если веб-контент нужно развернуть в отключенной среде, необходимо использовать пакет развертывания контента.

Развертывание разработанных элементов сайта при помощи пакетов решений

Содержание:

  • Случаи использования пакетов решений

  • Развертывание решений для ферм

  • Импорт пакета решений

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

  • Сведения о создании пакета решений

Случаи использования пакетов решений

Для развертывания пользовательских настроек рекомендуется использовать пакеты решений в виде части простого, безопасного и согласованного процесса управления жизненным циклом приложений. Пакеты решений упрощают смену компонентов и функций сайтов после создания сайтов.

Пакеты решений используются для развертывания новых и обновления существующих решений в ферме. Все экземпляры SharePoint Foundation можно упаковать как один файл, добавить файл в хранилище решений и развернуть его на интерфейсных веб-серверах фермы. Пакет решений используется для синхронизации интерфейсного веб-сервера для обеспечения согласованности его состояния с состоянием других веб-серверов в ферме.

Пакеты решений используются для развертывания настроек авторских элементов сайта из фермы интеграции в пилотную ферму, ферму разработки или производства. В SharePoint Foundation пользователи могут сохранить настроенный сайт в виде шаблона. При этом создается пакет решений с расширением файла WSP, который можно развернуть на другой ферме.

С помощью пакетов решений можно выполнять развертывание настроек между следующими средами:

  • С рабочих станций разработчиков — в ферму интеграции или систему управления конфигурацией программного обеспечения

  • Построение фермы интеграции и клиентских рабочих станций авторов на пилотных или производственных фермах

Развертывание решений для ферм

Решения для ферм развертываются локально или с помощью службы таймера. Для запуска этих видов развертывания используются инструкции командной строки или программный способ с объектной моделью.

Локальное развертывание

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

Развертывание службой таймера

Когда развертывание выполняется с помощью службы таймера, оно создает задание таймера. Это задание выполняется службой таймера на каждом веб-сервере фермы. Сначала выполняется анализ манифеста и манифестов компонентов с целью найти файлы сборок и файлы _layouts, которые копируются в соответствующее расположение. Все остальные файлы, которые должны находиться в каталоге компонента, копируются в каталог компонента. После того как файлы решения скопированы на целевые компьютеры, планируется операция смены конфигурации для всех интерфейсных веб-серверов, при выполнении которой разворачиваются файлы и перезапускаются службы IIS. Затем компоненты решения регистрируются, а файлы схем и файлы определений фиксируются в хранилище конфигурации.

Дополнительные сведения о хранении, развертывании и синхронизации решения см. в статье, посвященной развертыванию решения (Возможно, на английском языке) (https://go.microsoft.com/fwlink/?linkid=186995&clcid=0x419) (Возможно, на английском языке), в пакете SDK для Microsoft SharePoint 2010

Добавление пакета решений

Перед развертыванием пакет решений необходимо добавить в базу данных решений фермы SharePoint Foundation.

Важно!

Необходимо входить в группу "Администраторы" любого компьютера, где работает 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-адрес веб-приложения, в которое выполняется развертывание импортированного решения.

    По умолчанию решение развертывается сразу. С помощью параметра время можно установить время развертывания. Дополнительные сведения см. в разделе 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 Foundation 2010 развертывать сборки в глобальном кэше сборок.

    • Параметр CASPolicies позволяет создать пользовательский файл политики разграничения доступа кода (CAS) и активировать его в файле Web.config целевого семейства веб-сайтов.

    По умолчанию решение развертывается сразу же, но с помощью параметра time можно указать иное время развертывания.

Создание пакета решений

В состав SharePoint Foundation 2010 не входит средство для создания пакетов решений. В этом разделе описаны способы создания пакетов решений с разработанными элементами сайта и артефактами.

Visual Studio 2010

Visual Studio 2010 используется для группировки связанных элементов SharePoint в компонент и последующего объединения нескольких компонентов, определений сайтов, сборок и других файлов в один пакет (файл WSP) для развертывания на серверах с SharePoint Foundation 2010. Visual Studio 2010 применяется для отладки и тестирования WSP-файлов на сервере под управлением SharePoint Foundation 2010. На этом компьютере можно настроить этапы развертывания.

Разработчики могут создавать решения SharePoint в Visual Studio 2010 и генерировать WSP-файлы с помощью автоматического процесса. Исходный код проекта Visual Studio SharePoint, используемый для создания WSP-файла, можно добавить в систему управления исходным кодом с помощью интеграции Visual Studio 2010. Visual Studio 2010 импортирует WSP-файлы и создает проекты для их дальнейшего расширения и создания новых WSP-файлов. Основным источником WSP-файлов, импортированных в Visual Studio 2010, являются шаблоны, сохраненные с сайтов с помощью команды "Сохранить как шаблон" на сайтах SharePoint Foundation 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 Foundation 2010 требуется выполнить следующие настройки, рекомендуется использовать Visual Studio 2010. Для осуществления настроек можно вручную создать пакеты решений SharePoint.

  • Развертывание сборок .NET Framework в личной папке приложения вместо глобального кэша сборок.

  • Добавление разрешений безопасности для доступа к коду решения, которое требуется применить во время развертывания.

  • Использованием имен, отличных от имен по умолчанию папок компонентов.

  • Локализация решения.

  • Связывание обработчиков событий компонентов с определенными типами решений SharePoint Foundation 2010, такими как решения веб-частей.

  • Все ресурсы (XML-файлы, изображения, DLL-файлы и сборки) для пакета решения.

Создание файла решения вручную

В большинстве сценариев развертывания SharePoint Foundation 2010 рекомендуется использовать средства Visual Studio 2010 Tools для SharePoint 2010 для разработки и упаковки решений SharePoint. В Visual Studio 2010 в ходе процесса развертывания WSP-файл копируется на сервер с SharePoint Foundation 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 Foundation 2010 на компьютере разработчика с целью тестирования и отладки. Можно также создать файл пакета решения, который добавляется или развертывается на другом компьютере. Дополнительные сведения см. в статье Инструкции по развертыванию решения SharePoint (https://go.microsoft.com/fwlink/?linkid=187004&clcid=0x419). Для импорта решения на другой компьютер можно использовать командлет Add-SPSolutionWindows PowerShell.

Страница Управление решением в центре администрирования может использоваться для развертывания пакета решений. Пакет решений можно также развернуть с помощью командлета Install-SPSolutionWindows PowerShell.

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