Развертывание пакетов с использованием CRM Package Deployer и Windows PowerShell

 

Опубликовано: Ноябрь 2016

Применимо к: Dynamics CRM 2015

Microsoft Dynamics CRM Package Deployer позволяет администраторам развертывать пакеты в экземпляре Microsoft Dynamics CRM (локальная версия) или Microsoft Dynamics CRM Online. "Пакет" может состоять из какого-либо или всех нижеперечисленных элементов.

  • Один или несколько файлов решения Dynamics 365.

  • Плоские файлы или экспортированные файлы данных из Средство миграции конфигурации. Сведения о Средство миграции конфигурации см. в разделе Управление данными конфигурации.

  • Пользовательский код, который может выполняться во время или после развертывания пакета в Microsoft Dynamics 365.

  • Содержимое HTML для пакета, которое может отображаться в начале или конце процесса развертывания пакета. Это удобно для предоставления описания решений и файлов, развертываемых в пакете.

Разработчики создают пакеты с помощью шаблона развертывания пакетов в Microsoft Visual Studio.Дополнительные сведения:MSDN. Создание пакетов для CRM Package Deployer

После создания пакета можно развернуть его, выполнив Программа развертывания пакетов для CRM или с помощью командлетов Windows PowerShell для средства.

Содержание

Использование средства CRM Package Deployer для развертывания пакетов

Использование Windows PowerShell для развертывания пакетов

Устранение неполадок при развертывании пакетов с помощью файлов журнала

Рекомендации для развертывания пакетов

Использование средства CRM Package Deployer для развертывания пакетов

Средство развертывания пакетов может обрабатывать только один пакет за раз. Однако он предоставляет пользователям возможность выбрать пакет для развертывания из нескольких пакетов, доступных в каталоге Средство развертывания пакетов. Некоторые экраны и действия в инструменте различаются в зависимости от определения пакета. Устанавливать Средство развертывания пакетов не требуется. Просто загрузите и запустите его.

  1. Получите пакет для развертывания. Пакет представляет собой коллекцию файлов и папок, созданных в папке проектов Visual Studio (<проект>\Bin\Debug) при создании проекта пакета в Visual Studio. Скопируйте следующие элементы из папки отладки проекта:

    • Папка <имя_пакета>. Эта папка содержит решения, конфигурацию импорта и содержимое для данного пакета.

    • <имя_пакета>.dll. Сборка, содержащая код для пакета. По умолчанию имя сборки совпадает с именем проекта Visual Studio.

    Дополнительные сведения о создании пакета с помощью Visual Studio см. в разделе MSDN. Создание пакета для средства развертывания пакетов Package Deployer.

    В целях этого раздела предположим, что папка и сборка из папки отладки проекта Visual Studio (<проект>)\Bin\Debug) скопированы в папку c:\DeployPackage.

  2. Загрузите пакет SDK Microsoft Dynamics CRM. Затем выполните загруженный исполняемый файл для извлечения содержимого пакета.

  3. Перейдите к папке SDK\Tools\PackageDeployer и скопируйте папку пакета и сборку из папки c:\DeployPackage в папку SDK\Tools\PackageDeployer.

  4. После копирования файлов запустите средство, дважды щелкнув файл PackageDeployer.exe в папке SDK\Tools\PackageDeployer.

  5. Щелкните Продолжить на главном экране инструмента.

  6. На экране Подключение к Microsoft Dynamics CRM укажите сведения для проверки подлинности, чтобы подключиться к серверу Dynamics 365, на котором требуется развернуть пакет. Если у вас имеется несколько организаций, и необходимо выбрать организацию, в которой будет развернут пакет, установите флажок Всегда отображать список доступных организаций. Нажмите кнопку Вход.

  7. Если доступно несколько организаций на сервере Dynamics 365 и установлен флажок Всегда отображать список доступных организаций, на следующем экране можно выбрать организацию, к которой будет установлено подключение. Выберите организацию Dynamics 365 для подключения.

  8. Следующий экран предложит выбрать пакет для развертывания. Выберите свое имя пакета и нажмите кнопку Далее.

    Выберите пакет в средстве Package Deployer Tool

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

    Экраны отображаются на основе определения пакета, выбранного для развертывания. Дополнительные сведения о комплексном развертывании пакетов, использующем Средство развертывания пакетов, см. в посвященном пакетам Unified Service Desk разделе Развертывание образов приложений Unified Service Desk на сервере CRM с помощью программы развертывания приложений.

Использование Windows PowerShell для развертывания пакетов

Средство развертывания пакетов также предоставляет поддержку Windows PowerShell для развертывания пакетов.

Выполните следующие шаги для использования командлетов PowerShell для развертывания пакетов.

Необходимые условия

Регистрация командлетов

Использование командлета для извлечения пакетов

Использование командлета для подключения к серверу CRM

Использование командлета для развертывания пакетов

Получение подробной справки по командлетам

Необходимые условия

Здесь перечислены необходимые условия для использования командлетов PowerShell:

  • PowerShell 3.0 или выше необходим для развертывания пакета с использованием PowerShell. Для проверки вашей версии PowerShell запустите окно PowerShell, а затем запустите следующую команду: $Host.

  • Сформулируйте политику исполнения для запуска подписанных скриптов PowerShell. Для этого запустите окно PowerShell в роли администратора, а затем выполните следующую команду: Set-ExecutionPolicy -ExecutionPolicy AllSigned

Регистрация командлетов

Необходимо зарегистрировать командлеты Windows PowerShell для Средство развертывания пакетов, прежде чем можно будет использовать их. Регистрация командлетов

  1. Если вы этого еще не сделали, загрузите пакет SDK Dynamics 365 из Центр загрузки Майкрософт и запустите файл пакета для извлечения содержимого пакета. Предположим, пакет извлечен в папку c:\CRM на компьютере.Средство развертывания пакетов и другие необходимые файлы станут доступны в следующем расположении: c:\CRM\SDK\Tools\PackageDeployer.

  2. Запустите Windows PowerShell на компьютере с повышенными правами (от лица администратора).

  3. В ответ на запрос в окне Windows PowerShell измените каталог на папку Windows PowerShell в папке PackageDeployer. В данном случае:

    cd c:\CRM\SDK\Tools\PackageDeployer\PowerShell
    
  4. Запустите скрипт RegisterXRMTooling.ps1, чтобы зарегистрировать сборку Windows PowerShell для Package Deployer (dll), и установите оснастку Windows PowerShell для Средство развертывания пакетов. Для этого введите следующую команду и нажмите клавишу ВВОД.

    .\RegisterXRMTooling.ps1
    
  5. Добавьте оснастку Windows PowerShell для инструментов XRM. В результате будут зарегистрированы следующие командлеты: Get-CrmConnection и Get-CrmOrganizations.

    Add-PSSnapin Microsoft.Xrm.Tooling.Connector
    
  6. Добавьте оснастку Windows PowerShell для Package Deployer. В результате будут зарегистрированы следующие командлеты: Get-CrmPackages и Import-CrmPackage.

    Add-PSSnapin Microsoft.Xrm.Tooling.PackageDeployment
    

Теперь можно использовать эти командлеты Windows PowerShell. Чтобы перечислить зарегистрированные командлеты, выполните следующую команду в ответ на запрос в окне Windows PowerShell.

Get-Help “Crm”

Использование командлета для извлечения пакетов

Прежде чем использовать командлет убедитесь, что вы копировали пакет в папку PackageDeployer (в данном случае c:\CRM\SDK\Tools\PackageDeployer). Пакет представляет собой коллекцию файлов и папок, созданных в папке проектов Visual Studio (<Project>\Bin\Debug) при построении проекта в Visual Studio. Скопируйте все содержимое своего проекта отладка папку в папку PackageDeployer. Дополнительные сведения о создании пакета с помощью Visual Studio см. в разделе MSDN. Создание пакетов для CRM Package Deployer.

  1. В окне PowerShell выполните следующий командлет для возвращения списка пакетов, доступных для импорта в указанном каталоге (в данном случае c:\CRM\SDK\Tools\PackageDeployer):

    Get-CrmPackages –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer
    
  2. Если необходима информация о пакете в каталоге, можно использовать командлет Get-CrmPackages вместе с параметром PackageName, чтобы указать имя сборки в каталоге, который содержит определение пакета.

    Get-CrmPackages –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer –PackageName SampleCRMPackage.dll
    

Использование командлета для подключения к серверу CRM

  1. Укажите учетные данные для подключения к вашему экземпляру Microsoft Dynamics CRM Online или Microsoft Dynamics CRM (локальная версия). При выполнении следующей команды система пришлет запрос на ввод имени пользователя и пароля для подключения к экземпляру Dynamics 365, и мы сохраним это в переменной $Cred, а затем используем для подключения к серверу CRM.

    $Cred = Get-Credential
    
  2. Используйте следующую команду для подключения к экземпляру Microsoft Dynamics CRM Online или Microsoft Dynamics CRM (локальная версия). Мы сохраним сведения для подключения в переменной $CRMConn.

    • При подключении к экземпляру Microsoft Dynamics CRM (локальная версия):

      $CRMConn = Get-CrmConnection -ServerUrl http://<your_CRM_Server> -OrganizationName <your_Org_Name> -Credential $Cred
      
    • При подключении к серверу Microsoft Dynamics CRM Online:

      $CRMConn = Get-CrmConnection -DeploymentRegion NorthAmerica –OnlineType Office365 –OrganizationName <your_Org_Name> -Credential $Cred
      

      Примечание

      Для параметра DeploymentRegion допустимы значения Северная Америка, Европа, Ближний Восток и Африка и Азиатско-Тихоокеанский регион. Для параметра OnlineType допустимы значения Office365 и LiveID.

  3. Предоставленные учетные данные проверяются при выполнении команды в шаге 2.

Использование командлета для развертывания пакетов

Далее используйте сведения для подключения к CRM, хранящиеся в переменной $CRMConn, для развертывания пакетов в экземпляре Dynamics 365. Выполните следующую команду, чтобы развернуть пакет.

Import-CrmPackage –CrmConnection $CRMConn –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer –PackageName SampleCRMPackage.dll –UnpackFilesDirectory c:\UnpackedFiles -Verbose

Примечание

  • Параметры CrmConnection, PackageDirectory и PackageName являются обязательными.

  • Для параметра PackageName необходимо указать имя сборки, которая содержит определение пакета.

  • Не нужно указать параметр UnpackFilesDirectory, если пакет не распаковывает файлы во время развертывания пакета. При определении пакета в Visual Studio нужно задать, требуется ли распаковывать файлы с использованием параметра agentdesktopzipfile в файле ImportConfig.xml.Дополнительные сведения:MSDN. Создание пакетов для CRM Package Deployer

  • Параметр Verbose не обязателен и используется для отображения подробного журнала действий, выполненных во время развертывания пакета.

Получение подробной справки по командлетам

В окне PowerShell воспользуйтесь командлетом Get-Help с именем командлета для просмотра подробной справки по нему. Например, чтобы получить подробную справку по командлету Import-CrmPackage:

Get-Help Import-CrmPackage -full

Для просмотра интерактивной справки по командлетам см. раздел Справка по CRM PowerShell.

Устранение неполадок при развертывании пакетов с помощью файлов журнала

Средство развертывания пакетов обеспечивает поддержку журнала, в котором регистрируется подробная информация про ошибки, которые могут возникать при входе в экземпляр Microsoft Dynamics CRM с помощью средства и при развертывании пакетов. Средство создает три файла журнала, которые доступны в следующем расположении на компьютере, где оно запущено: "c:\Users\<UserName>\AppData\Roaming\PackageDeployer\<Version>".

  • Login_ErrorLog.log: содержит информацию о проблемах, возникших при использовании инструмента для входа в экземпляр Dynamics 365. Если при входе возникла какая-либо проблема, на экране входа средства появляется сообщение со ссылкой на этот файл журнала. Сообщение заявляет, что при обработке запроса на вход произошла ошибка и пользователь может просмотреть журнал ошибок. Можно щелкнуть ссылку в сообщении, чтобы просмотреть этот файл журнала. Этот файл журнала создается при первом возникновении ошибки в средстве при входе в систему. В дальнейшем этот файл журнала используется для записи информации обо всех возникающих проблемах единого входа.

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

  • ComplexImportDetail.log: предоставляет подробную информацию о данных, импортированных в ходе последнего развертывания с помощью средства. При каждом развертывании пакета с помощью средства существующие данные из файла журнала переносятся в файл ComplexImportDetail._old.log в том же каталоге, а в файл ComplexImportDetail.log помещается информация о последнем импорте, выполненном с помощью средства.

Рекомендации для развертывания пакетов

При развертывании пакетов администраторы Dynamics 365 должны:

  • Настаивать на сборке пакетов с подписью, чтобы можно было отследить источник сборки.

  • Проверить пакет на экспериментальном экземпляре (желательно, чтобы он был зеркальным образом рабочего экземпляра) перед выполнением на рабочем сервере.

  • Создать резервную копию рабочего экземпляра перед развертыванием пакета.

См. также

MSDN. Создание пакетов для CRM Package Deployer
Администрирование CRM 2015

© Корпорация Майкрософт (Microsoft Corporation), 2016. Все права защищены. Авторские права