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