Создание и применение развертываемых пакетов в Dynamics 365FO

Category: Статьи Post Date: 08.06.2020

Пакет – блок, объединяющий в себе один или несколько моделей для развертывания и компиляции в среде Microsoft Dynamics 365 Finance and Operations или в среде Microsoft Dynamics 365 for Retail. Он включает метаданные модели, двоичные файлы, отчеты и другие связанные ресурсы. Один или несколько пакетов могут быть упакованы в развертываемый пакет, который является средством, используемым для развертывания кода (и настроек) в демонстрационной, песочнице или производственных средах. Эта статья проведет вас через процесс создания и применения развертываемого пакета.

Обзор процесса

Чтобы развернуть свой код и настройки в среде выполнения (Demo, Sandbox или Production), вы должны создать развертываемые пакеты для вашего решения или реализации. Развертываемые пакеты можно создавать с помощью инструментов разработчика Visual Studio (dev tools) или с помощью процесса автоматизации сборки (build automation process), доступного в средах сборки. Эти развертываемые пакеты называются Развертываемыми пакетами приложений или Развертываемыми пакетами AOT. Изображение ниже представляет собой обзор процесса. После создания развертываемого пакета его необходимо загрузить в библиотеку активов проекта LCS. Затем администратор может перейти на страницу среды LCS и применить пакет к среде выполнения, используя инструмент Maintain> Apply updates.

Примечание:

Развертываемые пакеты приложений не содержат исходного кода.

Создание развертываемого пакета

После завершения этапа разработки выполните следующие действия, чтобы создать развертываемый пакет из Visual Studio.

1. В Microsoft Visual Studio выберите Dynamics 365> Развернуть(Deploy)> Создать пакет развертывания (Create Deployment Package).

2. Выберите пакеты, содержащие ваши модели, а затем выберите местоположение, в котором нужно создать развертываемый пакет.

3. После создания развертываемого пакета войдите в Microsoft Dynamics Lifecycle Services (LCS), а затем в своем проекте LCS щелкните плитку Asset library.

4. Загрузите развертываемый пакет, который вы создали ранее.

Примените развертываемый пакет к средам Sandbox (песочница)

Предварительные шаги

Убедитесь, что применяемый пакет не содержит ошибок. Когда пакет загружен в Asset library, он не анализируется. Если вы выбираете пакет, статус пакета отображается на правой панели как «Не проверено». Пакет должен пройти проверку, прежде чем его можно будет применить в среде с помощью следующих процедур. Статус пакета будет обновлен в Asset library, чтобы указать, является ли пакет действительным. Мы требуем проверки, чтобы гарантировать, что на производственную среду не влияют пакеты, которые не соответствуют рекомендациям.

Существует три типа проверок:

Основные проверки формата пакета

Проверка версии платформы

Тип пакета

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

Если вы хотите применить несколько пакетов, создайте объединенный пакет, который можно применять сначала в среде песочницы, а затем в производственной среде. Применение одного пакета в среднем требует около 5 часов простоя. Чтобы избежать дополнительных часов простоя, когда вам необходимо применить несколько пакетов, вы можете создать один комбинированный пакет, содержащий по одному пакету каждого типа. Если вы выберете бинарный пакет и развертываемый пакет приложения в библиотеке активов, кнопка «Объединить» станет доступной на панели инструментов. Нажав эту кнопку, вы можете объединить два пакета в один пакет и, следовательно, сократить общее время простоя вдвое.

Убедитесь, что двоичный пакет обновления применен к вашей среде разработки (dev/build), прежде чем он будет применен к вашей изолированной среде (sandbox) и рабочей среде. – Если двоичный пакет приложения применяется непосредственно к вашей 2+ уровневой изолированной среде (sandbox), но не применяется к вашей среде разработки (dev/build), в следующий раз, когда вы перемещаете пакет AOT из среды разработки (который не имеет тех же двоичных файлов приложения, что и ваша среда песочницы), некоторые двоичные файлы приложения будут перезаписаны содержимым из вашей среды разработки. Это может привести к регрессу версии вашей песочницы.

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

1. Для двоичного обновления загрузите пакет непосредственно в библиотеку активов. Информацию о том, как загрузить обновление из LCS, см. В разделе Загрузка обновлений из Lifecycle Services.

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

2. Откройте окно Сведения об окружении (Environment details) для среды, в которой вы хотите применить пакет.

3. Нажмите «Сохранить>Применить обновления», чтобы применить обновление.

4. Выберите пакет для применения. Используйте фильтр вверху, чтобы найти свой пакет.

5. Нажмите «Применить». Обратите внимание, что состояние в правом верхнем углу представления сведений о среде изменится на «В очереди», и в разделе обновлений среды теперь отображается ход выполнения

6. Обновите страницу, чтобы увидеть ход выполнения пакета приложения. Обратите внимание, что статус обслуживания – Выполняется, а состояние окружения – Обслуживание. 

7. Продолжайте обновлять страницу, чтобы увидеть обновления состояния для запроса пакета приложения. После применения пакета состояние окружения меняется на «Развернуто», а состояние обслуживания изменяется на «Завершено». 

8. Чтобы выйти из приложения, нажмите «Выйти», если проблем нет. Если при применении пакета возникли проблемы, нажмите «Завершить с проблемами».

Диагностика/устранение ошибок

Если применение пакета не удалось, вы можете скачать файлы журналов работы и запусков, чтобы просмотреть подробную информацию. Вы также можете использовать RDP для подключения к среде, чтобы исправить проблемы. Если вам необходимо сообщить о проблеме в Microsoft, обязательно укажите идентификатор (activity ID), который можно увидеть в разделе «Обновление окружения».

Использование журналов (логов)

1. Загрузите записи журналов.

2. Распакуйте файлы журнала.

3. Выберите роль, для которой не удалось выполнить шаг, например AOS или BI.

4. Выберите виртуальную машину, на которой произошел сбой. Эта информация отображается в столбце «Имя компьютера» в разделе «Обновление окружения».

5. В журналах для виртуальной машины выберите папку, соответствующую шагу, на котором возникла проблема. Имя папки идентифицирует шаг, которому соответствует каждая папка. Если проблема возникла при выполнении шага, выберите папку ExecuteRunbook.

Например, если имя папки – ExecuteRunbook-b0c5c413-dae3-4a7a-a0c4-d558614f7e98-1_I0_R0, номер шага выделяется и представляет собой номер после глобального уникального идентификатора (GUID).

Сбой сборки пакета

Если сборка прошла с ошибкой, у вас есть два варианта:

Нажмите «Продолжить», чтобы повторить операцию, которая не удалась. 

Нажмите «Прервать», чтобы остановить сборку пакета.

 Примечание

Если вы нажмете «Прервать», вы не откатите изменения, которые уже были внесены в вашу среду. Чтобы продолжить, вы должны решить проблему.

Применение пакета к производственной среде с помощью LCS

В производственной среде, в отличие от среды песочницы или других типов сред, пакетное приложение через LCS не обслуживается. Клиенты и партнеры должны отправить запрос в Microsoft на применение пакета, когда клиент готов к простоям.

1. Загрузите обновление из LCS. Информацию о том, как загрузить обновление из LCS, см. В разделе Загрузка обновлений из Lifecycle Services.

Для двоичного обновления загрузите развертываемый пакет обновления непосредственно в Asset library.

Для обновления приложения/X++ примените пакет в среде разработки. После разрешения любых конфликтов создайте развертываемый пакет из Visual Studio и загрузите пакет в Asset library. Сведения о том, как загрузить в Asset library и создать развертываемый пакет, см. В разделе «Создание развертываемых пакетов».

2. На странице Asset library в LCS на вкладке, которая соответствует типу ресурса (Пакет с возможностью развертывания программного обеспечения), выберите пакет, а затем нажмите «Выпуск».

3. Примените пакет для среды «песочницы», используя инструкции, приведенные ранее в этом разделе.

4. После того, как пакет успешно применен и подписан в среде песочницы, откройте Asset library и пометьте пакет как Кандидат на выпуск.

5. Откройте представление Сведения об окружении для производственной среды, в которой вы хотите применить пакет.

6. Нажмите «Сохранить>Применить обновления», чтобы применить пакет.

7. Выберите тип пакета для применения.

8. Выберите пакет для применения в производственной среде, а затем нажмите «Расписание», чтобы отправить запрос на его применение.

 Примечание:

В список пакетов входят только пакеты, которые были успешно подписаны в среде песочницы и помечены как кандидаты на выпуск.

9. Укажите дату и время для плановой установки пакета, нажмите «Отправить», а затем нажмите «ОК» для подтверждения. Обратите внимание, что ваша среда будет выключена и недоступна на время применения пакета.

10. Обновите страницу. Два поля на странице указывают на статус запроса.

Состояние запроса – в этом поле указывается состояние запроса, отправленного вами в Microsoft.

Действие от – в этом поле указывается, кто должен предпринять действия.

11. Microsoft либо принимает, либо отклоняет запрос.

Если запрос принят, Microsoft начинает обновлять среду.

Если запрос отклонен, Microsoft сообщает клиенту причину отказа и действие, которое клиент должен предпринять. Затем клиент может перенести запрос, изменить пакет или отменить запрос.

В любое время клиент может использовать поле «Комментарии» для публикации комментариев к запросу.

12. После обслуживания среды вы можете отслеживать состояние. В поле «Состояние обслуживания» указывается состояние применения пакета.

Кроме того, индикатор выполнения показывает количество выполненных шагов из общего числа доступных шагов.

Успешное применение пакета

После успешного завершения развертывания в поле «Состояние обслуживания» устанавливается значение «Завершено», но в поле «Состояние запроса» по-прежнему установлено значение «В процессе», поскольку запрос еще не закрыт.

 • После того как Microsoft завершила применение запроса, вы должны закрыть запрос, нажав Закрыть запрос на обслуживание.

Когда вы закрываете успешный запрос, в диалоговом окне «Изменить сведения о задании» установите для поля «Состояние запроса на обслуживание» значение «Успешно», а затем нажмите кнопку Отправить.

Неудачное применение пакета

Если установка пакета не была успешно завершена, Microsoft изучит проблему. Поле состояния обслуживания будет указывать, что применение пакета не удалось. 

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

Когда вы закрываете неудавшийся запрос, в диалоговом окне «Изменение сведений о задании» установите для поля «Состояния запроса на обслуживание» значение «Прервано».

На этом все. Исходная статья доступна по ссылке.

Подписывайтесь на канал @d365neti в Telegram

Подписаться

Добавить комментарий