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

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

Заметка

Средство Package Deployer также работает с организациями Dynamics 365 Customer Engagement (on-premises).

"Пакет" может состоять из какого-либо или всех нижеперечисленных элементов.

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

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

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

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

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

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

Внимание

Прежде чем импортировать пакет в производственную организацию и запускать его там, протестируйте пакет в непроизводственном зеркальном образе производственной организации.

Всегда создайте резервную копию производственной организации перед развертыванием пакета.


Развертывание пакетов с помощью инструмента Package Deployer

Можно использовать инструмент Package Deployer (packagedeployer.exe) для развертывания пакетов одним из следующих способов:

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

Использование Package Deployer в командной строке

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

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

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

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

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

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

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

  2. Получить инструмент Package Deployer. Средство Package Deployer доступно как пакет NuGet. Чтобы использовать Package Deployer, необходимо загрузить и извлечь его на локальный компьютер с помощью файла nuget.exe.

    Загрузите файл nuget.exe с сайта https://www.nuget.org/downloads и сохраните его на компьютере, например на диске d:\. Затем выполните следующую команду в командной строке, чтобы извлечь содержимое пакета в папку, например PD, на компьютере.
    d:\nuget install Microsoft.CrmSdk.XrmTooling.PackageDeployment.Wpf -Version [VERSION] -O d:\PD

    После извлечения средства Package Deployer перейдите в папку [ExtractedLocation]\tools, чтобы найти файл PackageDeployer.exe.

  3. Скопируйте папку пакета и сборку из папки c:\DeployPackage в папку [ExtractedLocation]\tools.

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

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

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

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

  8. Выберите пакет для развертывания и нажмите кнопку Далее.

    Выберите свой пакет в средстве Package Deployer.

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

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

Использование Package Deployer в командной строке

Системные администраторы и специалисты по настройке могут передавать параметры (например, код языка и региональных стандартов) в packagedeployer.exe из командной строки. Эти параметры можно настроить только при запуске инструмента Package Deployer из командной строки.

Заметка

Эта функция впервые появилась в Dynamics CRM Online 2016 Update 0.1.

Доступные параметры перечислены в этой таблице.

Параметр Description Значение по умолчанию
RuntimePackageSettings Указывает packagedeployer.exe, что надо принять параметры командной строки, такие как LCID и SkipChecks. Нет данных
LCID=localeID Указывает код языка (например, 1033 для английского (США) или 1036 для французского (Франция)) из доступных кодов языка в пакете. Если не указано, будет использоваться язык по умолчанию. Использовать язык по умолчанию
SkipChecks=true/false Используйте этот параметр, только если целевая среда не содержит никаких других решений или пользовательских настроек. Если задан равным true, при импорте решения не будут выполняться некоторые проверки безопасности, что может повысить производительность импорта. False

В следующем примере параметры указывают, что CRM Package Deployer должен пропускать некоторые проверки безопасности, и устанавливают в качестве языка импорта польский язык.

packagedeployer.exe /Settings:"SkipChecks=true|lcid=1045"

Заметка

Используйте символ | (вертикальная черта) для разделения параметров, если packagedeployer.exe запускается из командной строки с несколькими параметрами.

Дополнительные сведения о параметрах и значениях, которые могут передаваться в packagedeployer.exe, см. в разделе Создание пакетов для CRM Package Deployer.

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

Инструмент Package Deployer также предоставляет поддержку Windows PowerShell для развертывания пакетов. Больше информации: Начните использовать модуль развертывания пакетов

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

Инструмент Package Deployer обеспечивает поддержку журнала, в котором регистрируется подробная информация про ошибки, которые могут возникать при входе в экземпляр Microsoft Dynamics 365 for Customer Engagement с помощью средства и при развертывании пакетов. По умолчанию средство создает три файла журнала, которые доступны в следующем расположении на компьютере, где оно запущено: c:\Users\<UserName>\AppData\Roaming\Microsoft\Microsoft Dynamics CRM Package Deployer\<Version>. Чтобы определить другую папку, используйте параметр -LogWriteDirectory командлета PowerShell. Дополнительные сведения: Использование командлета для извлечения пакетов

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

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

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

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

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

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

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

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

См. также

Создание пакетов для CRM Package Deployer