Поделиться через


Настройка конвейеров ALM Accelerator

Конвейеры — это двигатели ALM Accelerator. Они автоматизируют процесс ALM для Power Platform. Они создаются с помощью Azure Pipelines, службы Azure DevOps, и хранятся в проекте Azure DevOps .

Для автоматизации процесса ALM используются четыре основных конвейера:

  • Import
  • Экспорт (Export)
  • DELETE
  • Сборка/развертывание

Конвейеры предназначены для использования с приложением на основе холста ALM Accelerator. Использовать приложение необязательно, но мы рекомендуем это делать. Приложение предоставляет простой интерфейс для вызова конвейеров и способ их настройки без необходимости разбираться в базовых параметрах.

Общие сценарии использования конвейеров ALM Accelerator

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

Установка конвейеров в одном проекте, а исходного кода — в другом

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

Запуск конвейеров без ALM Accelerator

Приложение на основе холста ALM Accelerator предоставляет простой слой кнопок для запуска конвейеров. Однако конвейеры можно запускать, и не используя приложение. Если вы хотите использовать конвейеры независимо от приложения, вы можете запускать их непосредственно из командной строки. Вы также можете создать собственное приложение. Используйте настраиваемый соединитель для API-интерфейса Azure DevOps, который входит в решение ALM Accelerator, для вызова конвейеров с помощью Power Automate или других технологий Power Platform.

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

Параметры конвейеров

Параметры для import-unmanaged-to-dev-environment: Используйте конвейер импорта решений для импорта неуправляемого решения из системы управления исходным кодом в среду разработки.

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

Параметр Пример Описание:
Project Мой проект Azure DevOps Имя проекта, в который нужно импортировать решение
Репозиторий Мой репозиторий Azure DevOps Имя репозитория, из которого нужно импортировать решение
Имя решения MySolutionName Имя импортируемого решения
Электронное письмо me@example.com Адрес электронной почты пользователя, импортирующего решение
UserName Фамилия, Имя Имя пользователя, импортирующего решение
Филиал main Ветвь для сборки решения и импорта из нее
ServiceConnectionName MyServiceConnection Имя подключения к службе, которое требуется использовать для импорта
ServiceConnectionUrl example.crm.dynamics.com URL-адрес среды создателя для импорта
EnvironmentName MyDevEnvironment Используется для поиска параметров развертывания в конвейере развертывания; возвращает имя папки в каталоге конфигурации в источнике решения.

Параметры для delete-unmanaged-solution-and-components: Используйте конвейер удаления решения для удаления неуправляемого решения и всех его компонентов из среды разработки.

В следующей таблице описаны параметры конвейера удаления.

Параметр Пример Описание:
Имя решения MySolutionName Имя решения для удаления
ServiceConnectionName MyServiceConnection Имя подключения к службе, которое требуется использовать для удаляемого решения
ServiceConnectionUrl example.crm.dynamics.com URL-адрес среды создателя для решения, которое необходимо удалить

Параметры для export-solution-to-git: Используйте конвейер экспорта решения для экспорта решения в репозиторий Git.

В следующей таблице описаны параметры конвейера экспорта.

Параметр Пример Описание:
Project Мой проект Azure DevOps Имя проекта, в который нужно экспортировать исходный код решения
Репозиторий Мой репозиторий Azure DevOps Имя репозитория, в который нужно экспортировать исходный код решения
Имя решения MySolutionName Имя экспортируемого решения
Электронное письмо me@example.com Адрес электронной почты пользователя, экспортирующего решение
UserName Фамилия, Имя Имя пользователя, экспортирующего решение
CommitMessage Исправленные ошибки #1234 Описание изменений, которые необходимо сохранить при фиксации в репозитории
Филиал main Либо исходная ветвь для создания отходящей от нее ветви, либо существующая ветвь для фиксации
BranchToCreate feature-1234 Уникальное имя новой ветви для создания на основе параметра Branch (если необходимо)
ServiceConnectionName MyServiceConnection Имя подключения к службе, которое требуется использовать для экспорта решения
ServiceConnectionUrl example.crm.dynamics.com URL-адрес среды создателя, в которой существует неуправляемое решение, которое требуется экспортировать
Данные [Параметры развертывания JSON] Строка JSON, содержащая параметры развертывания, которые следует использовать для экспорта и настройки конвейеров развертывания
PortalSiteName MyPortalSite Имя веб-сайта Power Pages, связанного с экспортируемым решением

Настройка управления версиями решений при использовании конвейеров ALM Accelerator для их экспорта или развертывания

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

Экспортированное управление версиями

Используйте номер версии, экспортированный конвейерами, в качестве номера версии во всех развернутых средах. Создайте переменную с именем UseSolutionVersionFromDataverse в конвейере экспорта или глобальную переменную в библиотеке переменных для ALM Accelerator. Присвойте ей значение True. Эта переменная гарантирует, что номер версии, экспортированный в ваше решение, будет сохраняться в нижестоящих средах и будет отражен в вашей системе управления версиями, когда будет зафиксирован исходный код решения.

Пользовательская логика управления версиями

Используйте перехватчики ALM Accelerator для установки версии решения. Добавьте собственную логику в шаблон build-solution-pack-pre-hook.yml для управления Solution.xml напрямую или с помощью других инструментов, таких как pac solution version.

Пользовательское управление версиями с использованием собственных шаблонов

Возможность использовать собственные шаблоны для создания конвейеров развертывания позволяет гибко управлять версиями при первоначальном экспорте решения. В качестве примера создайте копию файла build-deploy-validation/test/prod-SampleSolution.yml и поменяйте имя сборки по умолчанию на стратегию управления версиями, основанную на настройке номеров запуска или сборки:

build:
  - name: 1.0.$(Date:yyyyMMdd)$(Rev:.r)
    ...

Разместив шаблоны, обновите шаги развертывания в своем профиле развертывания, указав эти шаблоны.

Настройка количества шагов развертывания в ваших конвейерах и имен целевых сред

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

Путь к шаблону указан относительно корня расположения конвейера экспорта. Пример пути к шаблонам конвейера развертывания среды проверки по умолчанию: /Pipelines/build-deploy-validation-SampleSolution.yml. Чтобы использовать шаблон в том же проекте, в котором находится конвейер экспорта, укажите в качестве пути /Pipelines/build-deploy-validation-MyCustomTemplate.yml.

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

Заполнитель Описание:
SampleSolutionName Имя развертываемого решения
RepositoryContainingTheBuildTemplates Репозиторий, содержащий шаблоны сборки для использования для конвейера развертывания
BranchContainingTheBuildTemplates Ветвь, содержащая шаблоны сборки для использования для конвейера развертывания
alm-accelerator-variable-group Группа глобальных переменных, которую шаблоны сборки используют для конвейера развертывания

Мы рекомендуем вам скопировать шаблон конвейера build-deploy-validation/test/prod-SampleSolution.yml, чтобы начать работу с собственным (пользовательским) шаблоном.

Выполнение пользовательских шагов в конвейерах без изменения шаблонов по умолчанию

Шаблоны конвейеров ALM Accelerator имеют несколько точек расширения, или перехватчиков, которые можно использовать для настройки конвейеров и минимизации проблем из-за конфликтов объединения в сценариях обновления. Узнайте больше о хуках ALM Accelerator.

Включение или отключение определенных действий в конвейерах

В конвейерах используются переменные для определения того, должна ли выполняться та или иная задача или какая задача из нескольких возможных должна быть выполнена. В следующей таблице описаны переменные, которые можно задать для отдельного конвейера или для всех конвейеров (посредством alm-accelerator-variable-group).

Заметка

Чтобы задать эти переменные для конкретных решений при экспорте, создайте специальный конвейер экспорта на основе шаблона конвейера экспорта. Назовите его export-solution-to-git-{SolutionName}. Приложение ALM Accelerator будет использовать для решения этот конвейер экспорта вместо универсального конвейера export-solution-to-git.

Переменная По умолчанию. Воронки продаж Описание:
GenerateDeploymentSettings Истина Экспорт (Export) Если задано значение false, параметры развертывания не создаются и не сохраняются в системе управления версиями.
UseDeploymentSettingsPlaceholders Истина Экспорт (Export) Если установлено значение false, в параметрах развертывания не используются заполнители и все значения параметров развертывания хранятся в файлах deploymentSettings.json и customDeploymentSettings.json.
ВАЖНО: Конфиденциальная информация может быть сохранена в виде обычного текста в настройках развертывания. Эти значения могут прочитать любые пользователи, имеющие доступ к системе управления версиями. Будьте осторожны при выборе значения для этой переменной.
DisableFlows False Экспорт (Export) Если установлено значение true, все потоки в распакованном исходном коде перед фиксацией отключаются.
UseSolutionVersionFromDataverse False Экспорт (Export) Если установлено значение true, номер версии, экспортированный в ваше решение, сохраняется и в нижестоящих средах. Номер версии будет отражен в вашей системе управления версиями при фиксации исходного кода решения.
DoNotExportCurrentEnvironmentVariableValues False Экспорт (Export) Если задано значение true, значения переменных для текущей среды удаляются из исходного кода для распакованного решения.
PublishCustomizationsBeforeExport Истина Экспорт (Export) Если задано значение false, настройки не публикуются до экспорта решения. Этот параметр полезен, если вы работаете в общей среде и хотите экспортировать только последние опубликованные настройки.
CacheEnabled Истина Экспорт/развертывание Если задано значение false, кэширование модулей PowerShell отключено. Этот параметр полезен, если ваши конвейеры выполняют очистку каталога кэша после выполнения конвейеров.
ProcessCanvasApps Истина Экспорт/развертывание Если задано значение false, приложения на основе холста не распаковываются во время экспорта и не упаковываются во время сборки.
ПРИМЕЧАНИЕ: Функциональность распаковки и упаковки холста в настоящее время находится в предварительная версия. В настоящее время не рекомендуется использовать ее для рабочих сред. Однако вы не сможете просматривать исходный код холста в системе управления версиями, если для этой переменной не будет установлено значение True.
DisableSolutionChecker False Развернуть Если задано значение true, средство проверки решений не запускается для каждой сборки, инициированной с помощью запроса на вытягивание.
SkipSolutionImport False Развернуть Если значением является TRUE, шаг импорта решения пропускается во время развертывания. Однако другие действия, такие как активация потока и совместное использование, по-прежнему выполняются.

Следующие шаги