Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Акселератор ALM устарел, и новые функции не добавляются. Проблемы больше не рассматриваются или устраняются.
Если вы определите потенциальную проблему безопасности, сообщите о ней в Центр Майкрософт по реагированию на угрозы.
Используйте Pipelines в Power Platform для внедрения возможностей автоматизации ALM в службы Power Platform и Dynamics 365. Конвейеры можно использовать с интеграцией исходного кода или расширять для интеграции с Azure DevOps, GitHub и другими поставщиками.
Вы можете настраивать компоненты ALM Accelerator for Power Platform с помощью предусмотренного приложения для администрирования или вручную. Эта статья содержит руководство по настройке приложения вручную и состоит из семи разделов:
- Необходимые условия
- Базовая установка
- Настройка проекта разработки
- Настройка решения
- Импорт решения и настройка приложения
- Настройка создателей для использования приложения ALM Accelerator
Необходимые условия
Перед установкой ALM Accelerator for Power Platform убедитесь, что выполнены следующие предварительные условия.
Ускоритель ALM должен быть установлен в среде Power Platform с Microsoft Dataverse базой данных. Во всех средах, в которых вы развертываете решения с помощью ALM Accelerator, также должна быть база данных Dataverse.
Замечание
ALM Accelerator не совместимо с Dataverse for Teams. И приложение ALM Accelerator, и связанные конвейеры предполагают использование полной версии Dataverse во всех средах.
Мы рекомендуем устанавливать ALM Accelerator в одной среде с другими решениями CoE Starter Kit. Узнайте больше о том, как определить наилучшую стратегию для своей организации:
ALM Accelerator использует Azure DevOps для контроля версий и развертываний. Если у вас нет организации Azure DevOps, зарегистрируйтесь бесплатно для до пяти пользователей на сайте Azure DevOps.
Чтобы выполнить действия, описанные в этом разделе, вам потребуются следующие пользователи и разрешения в Azure, Azure DevOps и Power Platform:
- Лицензированный Azure пользователь с разрешениями на создание и просмотр групп Microsoft Entra, создание регистраций приложений и предоставление администратору согласия администратора на регистрацию приложений в Microsoft Entra ID
- Лицензированный Azure DevOps пользователь с разрешениями на создание конвейеров, подключений служб, репозиториев и расширений, а также управление ими
- Лицензированный пользователь Power Platform с разрешениями на создание пользователей приложения и предоставление административных разрешений
Должны быть доступны следующие соединители, используемые вместе в среде, в которую импортируется ALM Accelerator:
- Dataverse (устаревший)
- HTTP
- Power Apps для разработчиков
- HTTP с Microsoft Entra ID (с доступом к конечной точке https://graph.microsoft.com)
- ALM Accelerator Custom DevOps (этот соединитель создается как часть импорта решения ускорителя)
- Office 365 Пользователи
- HTTP
Установите "Набор создателя" в среде, в которой вы устанавливаете ALM Accelerator.
Базовая установка
Следующие действия являются общими для всех функциональных возможностей ALM Accelerator и не относятся к какому-либо конкретному проекту или решению.
Создание регистрации приложения в среде Microsoft Entra
Создайте регистрацию приложения для акселератора ALM, чтобы предоставить приложению и связанным конвейерам разрешения, необходимые для выполнения операций в Azure DevOps и Power Apps или Dataverse. Это необходимо сделать только один раз.
Ниже показано, как создать одну регистрацию приложения с разрешениями для Dataverse и Azure DevOps. Однако для разделения ответственности может потребоваться создать отдельные регистраций приложений. Прежде чем выбрать ту или иную стратегию регистрации приложений, оцените, как раздельная регистрация приложений повлияет на удобство обслуживания и безопасность.
Создание регистрации приложения
Войдите на портал Azure.
Выберите Microsoft Entra ID>Регистрации приложений.
Выберите + Создать регистрацию, а затем дайте регистрации имя, например: ALMAcceleratorServicePrincipal.
Во всех остальных параметрах оставьте значения по умолчанию и нажмите Регистрация.
Добавление разрешений в регистрацию приложения
На левой боковой панели выберите Разрешения API.
Выберите + Добавить разрешение.
Выберите Dynamics CRM, а затем выберите Делегированные разрешения и user_impersonation.
Выберите Добавить разрешения, чтобы добавить разрешение Dynamics CRM API user_impersonation в регистрацию приложения.
Снова нажмите + Добавить разрешение.
Откройте вкладку API, которые использует моя организация. Найдите и выберите PowerApps-Advisor, а затем выберите Делегированные разрешения и Analysis.All (согласие администратора не требуется).
Это разрешение необходимо для выполнения статического анализа посредством средства проверки приложений.
Выберите Добавить разрешения, чтобы добавить разрешение PowerApps-Advisor API Analysis.All в регистрацию приложения.
Снова нажмите + Добавить разрешение.
На вкладке Microsoft APIs или вкладке API, используемые моей организацией выберите Azure DevOps и затем выберите Делегированные разрешения и user_impersonation.
Это разрешение требуется для подключения к Azure DevOps через настраиваемый соединитель в приложении акселератора ALM.
Если вы добавили разрешение Azure DevOps из вкладки APIs, используемые моей организацией, скопируйте идентификатор приложения (клиента) для последующего использования в этой процедуре.
Вы будете использовать его как Идентификатор приложения (клиента) DevOps, и с ним не следует путать Идентификатор приложения (клиента), которые вы скопируете позже в этой процедуре.
Если вы не можете найти разрешение Azure DevOps на вкладке APIs, которую использует моя организация>, выполните следующие действия, чтобы получить идентификатор приложения DevOps (клиент:
- Откройте окно браузера в приватном режиме и перейдите по адресу
https://dev.azure.com/<your devops organization>/_apis. - На странице входа скопируйте значение параметра client_id в URL-адресе.
- Откройте окно браузера в приватном режиме и перейдите по адресу
Выберите Добавить разрешения, чтобы добавить разрешение user_impersonation для API Azure DevOps в регистрацию приложения.
Выберите Предоставить согласие администратора для <ваш клиент>.
Настройте секрет клиента и URI перенаправления
На левой боковой панели выберите Сертификаты & секреты.
Выберите + Создать секрет клиента.
Выберите дату окончания срока действия, а затем нажмите Добавить.
Скопируйте Значение секрета клиента для последующего использования. Это единственный случай, когда можно скопировать это значение. Обязательно сделайте это, прежде чем покинуть страницу.
На левой боковой панели выберите Обзор.
Скопируйте идентификатор приложения (клиента) и идентификатор каталога (клиента).
Выберите и настройте.
Предоставление разрешения на управление Power App для вашей регистрации приложения
Предоставьте разрешения на управление Power App своей регистрации приложения, чтобы конвейеры могли выполнять необходимые действия в ваших средах. Для этого запустить следующий командлет PowerShell от имени интерактивного пользователя, у которого есть административные привилегии Power Apps. Вам нужно выполнить эту команду только один раз после создания регистрации приложения.
Important
Следующий командлет PowerShell предоставляет регистрации приложения повышенные разрешения, такие как "Администратор Power Platform". Политики безопасности вашей организации могут не разрешать такие типы разрешений. Прежде чем продолжить, убедитесь, что они разрешены. Если они не разрешены, некоторые возможности в конвейерах ALM Accelerator работать не будут.
Install-Module -Name Microsoft.PowerApps.Administration.PowerShell
Install-Module -Name Microsoft.PowerApps.PowerShell -AllowClobber
New-PowerAppManagementApp -ApplicationId <the Application (client) ID you copied when you created the app registration>
Установка расширений Azure DevOps
Акселератор ALM использует несколько расширений Azure DevOps, включая некоторые сторонние расширения, доступные в Azure DevOps Marketplace. Веб-сайт каждого стороннего расширения и ссылка на соответствующий исходный код приведены в следующих инструкциях. Узнайте, как оценить издатель расширений Marketplace.
Войдите в Azure DevOps.
Выберите параметры организации.
Выберите Общие>Расширения.
Найдите и установите следующие расширения:
Power Platform Build Tools (обязательно): это расширение содержит задачи сборки Microsoft для Power Platform. (https://marketplace.visualstudio.com/items?itemName=microsoft-IsvExpTools.PowerPlatform-BuildTools)
Замена токенов (обязательно): конвейеры используют это расширение для замены токенов в файлах конфигурации и хранения безопасных значений в закрытых переменных, настроенных для конвейера. (https://marketplace.visualstudio.com/items?itemName=qetza.replacetokens | https://github.com/qetza/vsts-replacetokens-task)
вкладка SARIF SAST Scans (необязательно): с помощью этого расширения можно визуализировать файлы SARIF, которые создаются средством проверки решений во время сборки. (Вкладка сканирования SARIF SAST — Visual Studio Marketplace)
Снимок экрана вкладки SARIF SAST Scans в Azure DevOps.
Клонируйте конвейеры YAML из GitHub в ваш экземпляр Azure DevOps
Перейдите на страницу https://aka.ms/coe-alm-accelerator-templates-latest-release и скопируйте URL-адрес самого последнего выпуска.
Войдите в Azure DevOps.
Создайте проект или выберите существующий проект.
Выберите Repos и выберите репозиторий Import в списке репозитория.
Вставьте URL-адрес, скопированный на шаге 1, в параметр URL-адрес клона, а затем выберите Импорт.
Убедитесь, что ветвь по умолчанию для репозитория является основной. Выберите Repos и Branches и убедитесь, что ветвь main помечена как ветвь по умолчанию.
Если это не так, выберите три вертикальные точки (⋮), соответствующие ветви основная, и в меню Дополнительные параметры выберите Задать как ветвь по умолчанию.
Замечание
В этом репозитории будут работать шаблоны конвейеров решений и конвейеры экспорта/импорта. Позже, когда вы будете создавать конвейеры для своих решений, вам может понадобиться сослаться на этот конкретный проект и репозиторий, если вы решите использовать другой репозиторий, чтобы управлять версиями своих решений.
Создание конвейеров для импорта, удаления и экспорта решений
Создайте конвейеры импорта, удаления и экспорта на основе YAML в репозитории Azure DevOps. Эти конвейеры работают, когда вы используете приложение для фиксации решения в Git, импорта решения или удаления решения.
Замечание
Если вы ожидаете, что во всех ваших операциях экспорта будут выполняться одни и те же действия независимо от решения, для которого запущен конвейер, вы можете создать один конвейер экспорта, как описано в этом разделе. Однако в зависимости от решения действия во время экспорта могут отличаться. В этом случае вы можете добавить имя решения к конвейеру export-solution-to-git (например: export-solution-to-git-SampleSolution), чтобы приложение выполняло ваши конкретные конвейеры решения, когда вы выполняете действия в приложении.
В следующей таблице показано соответствие между файлом YAML в репозитории и сопутствующим ему конвейером.
| Файл YAML | Имя конвейера |
|---|---|
| export-solution-to-git.yml | export-solution-to-git |
| import-unmanaged-to-dev-environment.yml | import-unmanaged-to-dev-environment |
| delete-unmanaged-solution-and-components.yml | delete-unmanaged-solution-and-components |
В Azure DevOps перейдите к Pipelines>Create a New Pipeline.
Выберите Azure Repos Git для репозитория кода, а затем наведите указатель на созданный репозиторий Azure DevOps и заполненный шаблонами конвейеров на предыдущих шагах.
На странице Настройка конвейера выберите существующий файл YAML для Azure Pipelines и укажите путь к /Pipelines/export-solution-to-git.yml, /Pipelines/import-unmanaged-to-dev-environment.yml или /Pipelines/delete-unmanaged-solution-and-components.yml.
Выберите Продолжить, а затем нажмите Сохранить.
Выберите меню Дополнительно (…) рядом с пунктом Запустить конвейер, а затем выберите Переименовать/переместить.
При необходимости поменяйте имя конвейера на export-solution-to-git, import-unmanaged-to-dev-environment или delete-unmanaged-solution-and-components.
Нажмите кнопку "Сохранить".
Создайте переменные конвейера экспорта (необязательно)
Вы можете задать переменные конвейера в конвейере export-solution-to-git, чтобы определить, какая информация должна сохраняться в системе управления версиями. Если эти параметры нужно применить глобально, задайте переменные в своем конвейере export-solution-to-git. Если же вы хотите применить эти параметры к конкретным решениям при экспорте, создайте конвейер экспорта для своего решения, как было описано в примечании в предыдущем разделе, и задайте переменные в этом конвейере.
Чтобы гарантировать, что текущие значения переменных среды никогда не будут зафиксированы в системе управления версиями во время процесса экспорта, создайте переменную DoNotExportCurrentEnvironmentVariableValues в своем конвейере export-solution-to-git и установите в ней значение True.
Important
Рекомендуется создать эту переменную конвейера, чтобы вы могли использовать функциональность настройки развертывания в ALM Accelerator.
Чтобы гарантировать, что при экспорте решения будут заданы значения определенных переменных среды по умолчанию, создайте переменную VerifyDefaultEnvironmentVariableValues в своем конвейере export-solution-to-git и установите в ней значение True. Задайте значения переменных среды по умолчанию в customDeploymentSettings.json, как описано в руководстве по настройке развертывания.
В Azure DevOps выберите Pipelines>Library>Создать новую группу переменных.
Назовите новую группу переменных alm-accelerator-variable-group — точно так, как указано здесь.
Конвейеры ссылаются на эту конкретную группу переменных, поэтому она должна называться точно так, как показано. Если вы решите использовать другое соглашение об именовании для своей группы переменных, вам потребуется изменить части конвейеров, чтобы они ссылались на используемое вами имя.
Добавьте следующие переменные в группу переменных:
Name Description Value AADHost Конечная точка авторизации Microsoft Entra Для общедоступных облаков используйте login.microsoftonline.com. Для правительственных облаков используйте соответствующий URL-адрес авторизации. ProcessCanvasApps Распаковываются ли приложения на основе холста при экспорте и упаковываются ли они при сборке Если задано значение false, значит приложения на основе холста не распаковываются во время экспорта и не упаковываются во время сборки. Функция распаковки и упаковки приложений на основе холста находится в стадии предварительной версии, и в настоящее время ее не рекомендуется использовать в рабочих средах. Однако вы не сможете просматривать исходный код холста в системе управления версиями, если для этой переменной не будет установлено значение True. (Необязательно) Если вы используете автоматизацию тестирования студии на основе холста в своих конвейерах, добавьте в группу переменных следующие переменные:
Name Value TestAutomationLoginMethod CloudIdentity TestAutomationMakerPortalUrl URL-адрес на портале создателя Power Apps обычно *https://make.powerapps.com*TestAutomationUsername Учетная запись пользователя, используемая для выполнения автоматизированных тестов TestAutomationPassword Пароль учетной записи пользователя, используемой для выполнения автоматизированных тестов (Необязательно) По умолчанию доступ к глобальным переменным ограничен, и вам необходимо настроить доступ для каждого конвейера. Можно упростить эту задачу и разрешить доступ для любого конвейера. В разделе Группа переменных (Конвейеры>Библиотека>alm-accelerator-variable-group), выберите Разрешения конвейера в верхнем меню, нажмите (…), а затем выберите Открыть доступ.
Установка разрешений для службы сборки проекта
Important
Azure DevOps содержит ряд аккаунтов Build Service, и это может вызвать путаницу при выполнении шагов в этом разделе. Обратите особое внимание на имена и формат, указанные в шагах 3 и 5 ниже. Возможно, вам придется искать конкретную учетную запись, если она не отображается в исходном списке.
В Azure DevOps выберите Параметры проекта.
Выбирать Репозитории>Безопасность.
В разделе Пользователи найдите и выберите Служба сборки коллекции проекта (название вашей организации).
Замечание
Вы можете не увидеть название вашей организации после пользователя Служба сборки коллекции проектов. Это может быть просто уникальный идентификатор. В этом случае используйте функцию поиска, чтобы найти пользователя, а затем выберите его.
Установите следующие разрешения для пользователя службы сборки:
Разрешение Value Внести вклад Allow Участие в запросах на вытягивание Allow Создать ветвь Allow Изменение политик Allow В разделе Пользователи найдите и выберите Служба сборки имя вашего проекта (название вашей организации).
Задайте те же значения, что и на шаге 4.
Выберите Конвейеры, нажмите три точки (…) в правом верхнем углу, а затем выберите Управление безопасностью.
Установите следующие разрешения для пользователя Служба сборки имя вашего проекта(название вашей организации):
Разрешение Value Изменить конвейер сборки Allow Изменить качество сборки Allow Управление очередью сборки Allow Переопределить проверку регистрации по сборке Allow Обновить сведения о сборке Allow Просмотреть конвейер сборок Allow Посмотреть сборки Allow Выберите Параметры проекта>Пулы агентов, выберите Безопасность, а затем выберите Добавить.
Найдите и выберите Служба сборки имя вашего проекта (название вашей организации).
Установите для Роль значение Читатель.
Нажмите кнопку "Добавить".
(Необязательно) По умолчанию разрешения конвейера для каждого репозитория ограничены, и вы должны настраивать их индивидуально. Можно упростить эту задачу и разрешить доступ для любого конвейера. В разделе Параметры проекта>Репозитории выберите по очереди каждый репозиторий. Выберите Безопасность в верхнем меню. Найдите блок Разрешения конвейера, нажмите (…), а затем выберите Открыть доступ.
Настройка проекта разработки
В следующем разделе описаны действия, которые нужно выполнить для настройки каждого из поддерживаемых вами проектов. В данном контексте проект разработки включает в себя инфраструктуру и конфигурацию, обеспечивающую работоспособное управление жизненным циклом приложений (ALM), включая конфигурацию среды Dataverse, которая поддерживает сам процесс ALM.
Создание подключений служб для Azure DevOps для доступа к Power Platform
Каждая среда Dataverse — разработка, проверка, тестирование и рабочая среда — должна иметь подключение к службе Power Platform в Azure DevOps. Выполните следующие действия для каждой из сред.
Замечание
Пользователи приложения ALM Accelerator видят только среды, в которых у них есть роль пользователя или администратора в подключении к службе в Azure DevOps. Если они работают в персональных средах разработки, создатели должны иметь роль пользователя или администратора в отношении подключения к службе для своей персональной среды разработки. В случае проверочной, тестовой и рабочей сред для подключения к службе, например к службе сборки, требуются только разрешения, предоставленные конвейерам.
Войдите в Azure DevOps и выберите проект.
Выберите Параметры проекта>Подключения к службе, а затем выберите Создать подключение к службе.
Найдите и выберите тип подключения к службе Power Platform.
Нажмите кнопку Далее.
Для параметра URL-адрес сервера введите URL-адрес своей среды, например:
https://myorg.crm.dynamics.com/.Important
Вы должны включить косую черту (/) в конец URL-адреса, т. е. после .com в данном примере.
Для параметра Имя подключения к службе введите тот же URL-адрес, что и на шаге 4, с косой чертой (/) в конце.
Введите Tenant ID, Application (client) ID и Client Secret, которые вы скопировали из Microsoft Entra при создании регистрации приложения.
Выберите Предоставить права доступа всем конвейерам.
Нажмите кнопку "Сохранить".
Подключения к службе должны предоставлять пользовательские разрешения всем пользователям во всех средах, к которым пользователи должны иметь доступ из приложения (например, в средах создателей).
В списке Подключения к службе выберите подключение к службе, которым нужно поделиться с пользователями.
Выберите Дополнительно (…) в правом верхнем углу, а затем выберите Безопасность.
В списке Группа или пользователь пользователя или группу, которым вы хотите предоставить пользовательские разрешения.
Выберите Пользователь, выберите Роль, а затем выберите Добавить.
Повторите шаги, описанные в этом разделе, для каждой из ваших сред (разработка, проверка, тестирование и работа).
Задайте разрешения на использование подключений к службе для службы сборки проекта.
В Azure DevOps выберите параметры Project>Service connections.
Нажмите (…) в правом верхнем углу, выберите Безопасность, а затем выберите Добавить.
Найдите и выберите Служба сборки имя вашего проекта (название вашей организации).
Задайте для Роль значение Администратор, а затем выберите Добавить.
Создание пользователя приложения в своей среде Dataverse
Создайте пользователя приложения в своих средах, чтобы конвейеры могли подключаться к Dataverse. Сделайте это в каждой среде, в которой вы планируете выполнять развертывание с использованием ALM Accelerator.
Войдите в центр администрирования Power Platform.
Выберите свою среду разработки, а затем выберите Параметры.
Выберите Пользователи + разрешения>Пользователи приложения.
Выберите + Новый пользователь приложения.
Выберите + Добавить приложение, выберите ранее созданную вами регистрацию приложения, а затем выберите Добавить.
Выберите бизнес-единицу.
Нажмите значок карандаша справа от Роли безопасности и выберите роли безопасности для пользователя приложения.
Мы рекомендуем предоставить пользователю приложения привилегии роли безопасности администратора системы, чтобы пользователь мог выполнять необходимые функции в каждой среде.
Нажмите кнопку "Создать".
Повторите эти действия для своих проверочной, тестовой и рабочей сред.
Настройка решения
При создании решения в Dataverse вам потребуется создать конвейеры специально для этого решения. В каталог Pipelines в репозитории coe-alm-templates включены указанные ниже примеры конвейеров:
- https://github.com/microsoft/coe-alm-accelerator-templates/blob/main/Pipelines/build-deploy-validation-SampleSolution.yml
- https://github.com/microsoft/coe-alm-accelerator-templates/blob/main/Pipelines/build-deploy-test-SampleSolution.yml
- https://github.com/microsoft/coe-alm-accelerator-templates/blob/main/Pipelines/build-deploy-prod-SampleSolution.yml
Примеры конвейеров позволяют организациям хранить свои шаблоны конвейеров в отдельном проекте или репозитории из YAML конкретного конвейера решений. Выполните действия в этом разделе, чтобы настроить конвейер решения. Повторите эти действия для каждого решения, для которого вы используете ALM Accelerator для управления версиями.
Important
YAML для конвейера вашего решения всегда хранится в том же репозитории, который вы используете для управления версиями для своего решения. Однако шаблоны конвейера (то есть папка Pipeline\Templates) могут находиться либо в том же репозитории, что и YAML конвейера вашего решения, либо в отдельном репозитории или проекте.
Создание конвейеров сборки и развертывания решения
Конвейеры решения используются для создания и развертывания решений с контролируемым исходным кодом в средах вашего клиента. В примерах конвейеров предполагается, что вы используете только три среды: проверочную, тестовую и рабочую. Тем не менее, вы можете создать столько конвейеров решений, сколько необходимо, в соответствии со стратегией среды вашей организации.
Примеры конвейеров развертывания инициируются изменениями в ветке (т. е. тестовой и рабочей) или как часть политики ветки в Azure DevOps (т. е. проверка). Подробнее о настройке политик ветвей для проверки запросов на вытягивание. Вы также можете запускать конвейеры вручную, не используя триггер.
Выполните описанные в этом разделе действия, чтобы создать конвейеры развертывания из примера YAML конвейера. В следующей таблице описывается конфигурация конвейера.
Important
Имя конвейера должно быть точно таким, как показано в следующей таблице (на месте MyNewSolution должно быть имя вашего решения).
| Имя файла YAML конвейера | Имя конвейера | Политика ветви включена | Обязательный |
|---|---|---|---|
| build-deploy-validation-MyNewSolution.yml | deploy-validation-MyNewSolution | Yes | Yes |
| build-deploy-test-MyNewSolution.yml | deploy-test-MyNewSolution | нет | Yes |
| build-deploy-prod-MyNewSolution.yml | deploy-prod-MyNewSolution | нет | Нет (перейти к следующему разделу) |
Замечание
Следующие шаги создают конвейеры сборки и развертывания для проверочной, тестовой и рабочей сред. Однако вы можете захотеть выполнить сборку и развертывание для проверки и тестирования, а затем развернуть артефакты из тестовой сборки в рабочей среде. В этом случае выполните действия, описанные в данном разделе, только для своих сред проверки и тестирования. Затем перейдите сразу к разделу Создание конвейера развертывания решения, чтобы настроить свой конвейер выпуска.
Создание файла конвейера
В Azure DevOps перейдите в репозиторий, содержащий папку pipelines, которую вы зафиксируете, и выберите папку Pipelines.
Откройте один из трех примеров конвейера развертывания и скопируйте его YAML для использования в новом конвейере.
Обратите внимание на имя репозитория для использования в вашем конвейере.
Перейдите в репозиторий, где вы хотите управлять исходным кодом своего решения.
Создайте ветвь на основе вашей ветви по умолчанию и дайте ей имя, соответствующее вашему решению, например: MyNewSolution.
Эта ветвь станет ветвью следующей версии (v-next) для вашего решения. Вся работа по разработке должна ответвляться от этой ветви в личную рабочую ветвь разработчика, а затем объединена в ветвь v-next для передачи на проверку и тестирование. Позже, когда выпуск будет готов, ветвь v-next можно объединить с основной или стандартной ветвью.
Выберите Создать в верхнем меню, а затем выберите Папка.
Дайте новой папке такое же имя, как у вашего решения.
Дайте имя новому YAML-файлу конвейера, например: build-deploy-validation-SampleSolution.yml, build-deploy-test-SampleSolution.yml или build-deploy-prod-SampleSolution.yml.
Нажмите кнопку "Создать".
Обновление и сохранение файла
Вставьте YAML, скопированный на шаге 2 в предыдущем разделе, в новый файл конвейера.
Измените следующие значения в YAML нового конвейера:
Введите в параметре Ресурсы>Репозитории>Имя имя репозитория, содержащего ваши шаблоны конвейера.
В этом примере репозиторий называется coe-alm-accelerator-templates и существует в том же проекте, что и наш репозиторий MyNewSolution. Если репозиторий шаблонов находится в другом проекте Azure DevOps, используйте формат ProjectName/RepoName. При необходимости вы также можете указать ветвь, в которой находятся ваши шаблоны, используя параметр
ref.Измените любое значение, которое ссылается на SampleSolutionName, указав уникальное имя вашего решения, например MyNewSolution.
Выберите Фиксация, чтобы сохранить изменения.
В Azure DevOps перейдите к Pipelines и выберите Create a New Pipeline.
Выберите Azure Repos Git для репозитория кода.
Выберите Репозиторий DevOps, который содержит YAML конвейера развертывания.
На странице Настройте конвейер выберите имеющийся YAML-файл Azure Pipelines, перейдите к файлу YAML в созданном ранее репозитории, а затем выберите Продолжить.
Выберите Сохранить, нажмите (…) рядом с Запустить конвейер, а затем выберите Переименовать/переместить.
Поменяйте имя конвейера на deploy-validation-MyNewSolution, deploy-test-MyNewSolution или deploy-prod-MyNewSolution, где MyNewSolution — это имя вашего решения.
Нажмите кнопку "Сохранить".
Если ваш новый конвейер был создан не в ветви репозитория по умолчанию: выберите Изменить на конвейере. Нажмите (…) в правом верхнем углу, а затем выберите Триггеры. Выберите вкладку YAML, затем выберите Получить источники. Измените Ветвь по умолчанию для ручных и плановых сборок, указав свою ветвь решения. Подробнее о том, как настроить триггеры конвейера.
Повторите предыдущие шаги, чтобы создать конвейер развертывания для каждой из ваших сред, используя в качестве образца пример YAML конвейера развертывания из репозитория coe-alm-accelerator-templates (deploy-validation-SampleSolution.yml, deploy-test-SampleSolution.yml и deploy-prod-SampleSolution.yml).
Выберите Сохранить и поставить в очередь, затем выберите Сохранить.
Создание конвейера развертывания решения (необязательно)
Как уже говорилось, в результате выполнения шагов предыдущего раздела создаются конвейеры, которые осуществляют сборку и развертывание в проверочной, тестовой и рабочей средах. Однако вы можете создать отдельный конвейер развертывания решения, если вы хотите выполнять сборку и развертывание только для проверки и тестирования, а затем развертывать артефакты из тестовой сборки в рабочей среде.
Выполните описанные в этом разделе действия, чтобы создать конвейер развертывания решения из примера YAML конвейера. В следующей таблице описывается конфигурация конвейера.
Important
Имя конвейера должно быть точно таким, как показано в следующей таблице (на месте MyNewSolution должно быть имя вашего решения).
| Имя файла YAML конвейера | Имя конвейера | Политика ветви включена |
|---|---|---|
| deploy-prod-MyNewSolution.yml | deploy-prod-MyNewSolution | нет |
В Azure DevOps перейдите в репозиторий, содержащий папку pipelines и выберите папку Pipelines.
Откройте образец конвейера развертывания (deploy-prod-pipelineartifact-SampleSolution.yml) и скопируйте его YAML для использования в новом конвейере.
Обратите внимание на имя репозитория для использования в вашем конвейере.
Перейдите в репозиторий, где вы хотите управлять исходным кодом своего решения.
Выберите Создать в верхнем меню, а затем выберите Файл.
Дайте новому YAML-файлу конвейера имя, например: deploy-prod-MyNewSolution.yml, где MyNewSolution — это имя вашего решения.
Нажмите кнопку "Создать".
Вставьте YAML, скопированный на шаге 2, в новый файл конвейера.
Измените следующие значения в YAML нового конвейера:
Измените Триггер>Ветви>Включить, указав ветви, изменения в которых должны запускать развертывание в рабочей среде.
Введите в параметре Ресурсы>Репозитории>Имя имя репозитория, содержащего ваши шаблоны конвейера.
В этом примере репозиторий называется coe-alm-accelerator-templates и существует в том же проекте, что и наш репозиторий MyNewSolution. Если репозиторий шаблонов находится в другом проекте Azure DevOps, используйте формат ProjectName/RepoName. При необходимости вы также можете указать ветвь, в которой находятся ваши шаблоны, используя параметр
ref.Обновите Ресурсы>Конвейеры>Источник, указав конвейер сборки, содержащий артефакты, которые должен развернуть этот конвейер. В данном случае вы собираетесь развернуть артефакты из тестового конвейера, созданного вами ранее, который собрал и развернул ваше решение в тестовой среде.
Измените любое значение, которое ссылается на SampleSolutionName, указав уникальное имя вашего решения, например MyNewSolution.
Повторите шаги с 11 по 20 из предыдущего раздела для deploy-validation-ALMAcceleratorSampleSolution и deploy-test-ALMAcceleratorSampleSolution, чтобы создать конвейер из YAML нового рабочего конвейера с именем deploy-prod-ALMAcceleratorSampleSolution.
Установка переменных конвейера развертывания
Для каждого ранее настроенного вами конвейера развертывания вы должны задать значения переменных EnvironmentName и ServiceConnection в соответствии с тем, в какой среде производят развертывание эти конвейеры. Можно также задать переменную EnableFlows, чтобы отключить потоки Power Automate в рамках развертывания.
Создание переменных среды и подключения службы (обязательно)
Для каждого конвейера развертывания требуются переменная среды EnvironmentName и переменная подключения к службе ServiceConnection.
EnvironmentNameуказывает среду Azure DevOps, которая развертывается для возможности отслеживания истории развертывания и задания разрешений и утверждения развертывания в определенных средах. Установите для нее подходящее значение: Проверка, Тестирование или Производство.ServiceConnectionопределяет, как конвейер развертывания подключается к Power Platform. Допустимыми значениями являются имена созданных вами ранее подключений к службе.
Выберите Редактировать в каждом из конвейеров развертывания.
Выберите Переменные в определении конвейера развертывания, чтобы открыть редактор переменных.
Чтобы добавить переменную, нажмите (+). Введите имя переменной и соответствующее значение.
Повторите эти действия, чтобы переменные EnvironmentName и ServiceConnection.
Создание переменной EnableFlows (необязательно)
Можно задать значение переменной конвейера, названной EnableFlows, равным False, чтобы пропустить шаги, которые автоматически включают потоки Power Automate в рамках процесса развертывания. По умолчанию переменная EnableFlows содержит значение True.
Установка политик ветвей для проверки запросов на вытягивание
Создайте политику ветвей, чтобы созданный вами ранее конвейер выполнялся при создании запроса на вытягивание.
В Azure DevOps перейдите в папку Repos и выберите папку Branches.
Найдите ветвь, для которой вы хотите создать политику запросов на вытягивание. Нажмите (…) справа от ветви, а затем выберите Политики ветви.
На странице Политика ветвей перейти к Проверка сборки.
Выберите +, чтобы добавить новую политику ветвей.
Выберите созданный вами ранее конвейер в списке Конвейер сборки.
Укажите Фильтр путей (если это применимо), чтобы гарантировать, что только изменения в указанном пути будут запускать конвейер для запроса на вытягивание.
Задайте Триггер как Автоматически.
Установите Требование политики как Обязательно.
Установить Срок действия сборки как Немедленно.
Задайте Отображаемое имя для своей политики ветви, например: Проверка сборки PR.
Нажмите кнопку "Сохранить".
Установка разрешений на доступ к ресурсам для конвейеров
Для работы конвейерам требуется доступ к необходимым ресурсам, таким как репозитории, группы переменных и подключения к службам. У вас есть три варианта, как разрешить доступ.
Предоставление доступа при первом запуске
Вы можете разрешить доступ к требуемому ресурсу во время первого запуска конвейера.
- Запустите поток обработки и откройте его выполнение в Azure DevOps.
- Выберите Просмотр в баннере «Требуется разрешение».
- Выберите Разрешить для каждого требуемого ресурса.
Предоставление разрешения явным образом
Вы можете явным образом предоставить конвейеру разрешение на доступ к необходимым репозиториям.
- В Azure DevOps откройте Параметры проекта.
- Выберите Репозитории, а затем выберите репозиторий.
- Выберите вкладку Безопасность.
- Прокрутите вниз до пункта Разрешения конвейера и нажмите +.
- Выберите конвейер, которому вы хотите предоставить доступ к репозиторию.
Вы можете явным образом предоставить конвейеру разрешение на доступ к требуемым группам переменных.
- В Azure DevOps выберите Pipelines>Library и выберите группу переменных.
- Выберите Разрешения конвейера.
- Нажмите +, а затем выберите конвейер, которому вы хотите предоставить доступ к группе переменных.
Вы можете явным образом предоставить конвейеру разрешение на доступ к требуемым подключениям к службам.
- В Azure DevOps откройте Параметры проекта.
- Выберите Подключения к службе, а затем выберите подключение к службе.
- Выберите Дополнительные действия (…), а затем выберите Безопасность.
- Прокрутите вниз до пункта Разрешения конвейера и нажмите +.
- Выберите конвейер, которому вы хотите предоставить доступ к подключению к службе.
Предоставление доступа всем конвейерам
Вы можете разрешить всем конвейерам (как тем, что у вас есть сейчас, так и тем, которые вы создадите в будущем) доступ к необходимым репозиториям.
- В Azure DevOps откройте Параметры проекта.
- Выберите Репозитории, а затем выберите репозиторий.
- Выберите вкладку Безопасность.
- Прокрутите вниз до Разрешения конвейера.
- Выберите Дополнительные действия (…), выберите Открыть доступ и подтвердите свой выбор при появлении запроса.
Вы можете разрешить всем конвейерам доступ к необходимым группам переменных.
- В Azure DevOps выберите Pipelines>Library и выберите группу переменных.
- Выберите Разрешения конвейера.
- Выберите Дополнительные действия (…), выберите Открыть доступ и подтвердите свой выбор при появлении запроса.
Вы можете разрешить всем конвейерам доступ к необходимым подключениям к службам.
- В Azure DevOps откройте Параметры проекта.
- Выберите Подключения к службе, а затем выберите подключение к службе.
- Выберите Дополнительные действия (…), а затем выберите Безопасность.
- Выберите подключение к службе, выберите Дополнительные действия (…), а затем выберите Безопасность.
- Прокрутите вниз до Разрешения конвейера.
- Выберите Дополнительные действия (…), выберите Открыть доступ и подтвердите свой выбор при появлении запроса.
Установка области авторизации для задания
Область авторизации задания можно задать для всей организации Azure DevOps или для конкретного проекта. Если вы выберете другой проект Azure DevOps для установки шаблонов, отключите параметр Ограничить область авторизации задания текущим проектом для конвейеров выпуска.
Установка области авторизации задания на уровне организации для всех проектов
- В Azure DevOps выберите Настройки организации > Конвейеры > Настройки.
- Отключите параметр Ограничить область авторизации задания текущим проектом для конвейеров выпуска.
Создание конфигурации развертывания (необязательно)
После развертывания решения вам необходимо создать несколько конфигураций в целевой среде. Эти конфигурации зависят от среды и включают в себя ссылки на подключения, переменные среды и разрешения для групп Microsoft Entra и рабочих групп Dataverse, а также совместное использование приложений на основе холста и обновление прав собственности на компоненты решения, такие как потоки Power Automate. Помимо этих конфигураций, демонстрационные или конфигурационные данные, связанные с таблицами Dataverse в решении, требуются в целевой среде, чтобы обеспечить полную сквозную работу с ALM.
Если для вашего решения требуются эти или другие конфигурации либо данные, следуйте инструкциям руководства по настройке развертывания для настройки конвейеров на основе сред, в которых выполняется развертывание.
Импорт решения и настройка приложения
Импортируйте приложение на основе холста ALM Accelerator в свою среду Power Platform, а затем настройте прилагаемый пользовательский соединитель для Azure DevOps.
Установка ALM Accelerator в Dataverse
Решение ALM Accelerator зависит от набора создателя. Установите набор создателя прямо сейчас.
Скачайте последнюю версию файла управляемого решения из GitHub. Прокрутите вниз до пункта Ресурсы и выберите CenterofExcellenceALMAccelerator_<последняя версия>_managed.zip.
Войдите в Power Apps и выберите среду, в которой вы хотите разместить приложение ALM Accelerator.
На левой боковой панели выберите Решения.
Выберите Импорт решения>Обзор, а затем перейдите к расположению загруженного вами файла управляемого решения и выберите его.
Выберите Далее, затем снова выберите Далее.
На странице Подключения выберите или создайте подключение для подключения CDS DevOps к Dataverse.
При создании подключения для HTTP с Microsoft Entra используйте Microsoft Graph для обоих параметров.
Нажмите Импорт.
Настройка пользовательского соединителя DevOps
Выберите Данные>Настраиваемые соединители>CustomAzureDevOps.
Выберите Правка. На странице Безопасность выберите Изменить, а затем задайте следующие поля:
Name Value Тип проверки подлинности OAuth 2.0 Провайдер удостоверений личности Azure Active Directory идентификатор клиента Идентификатор приложения (клиента), который вы скопировали при создании регистрации приложения Секрет клиента Значение секрета приложения (клиента), которое вы скопировали при создании регистрации приложения Идентификатор клиента Оставьте значение по умолчанию (общий). URL-адрес ресурса Идентификатор приложения (клиента) DevOps, который вы скопировали, когда добавляли разрешения в регистрацию вашего приложения URL-адрес перенаправления Автоматическое создание. Если вы заметили флажок "Обновить уникальный URL-адрес перенаправления" под "URL-адрес перенаправления", установите его. Выберите Обновить соединитель.
Добавьте "URL-адрес перенаправления" в качестве "URI перенаправления"
Автоматически созданный "URL-адрес перенаправления" из приведенного выше раздела необходимо добавить в качестве "URI перенаправления" при регистрации приложения.
На левой боковой панели выберите Обзор.
Выберите Добавить URI перенаправления.
Выберите + Добавить платформу, затем выберите Интернет.
В поле URI перенаправления вставьте автоматически сгенерированный "URL-адрес перенаправления", скопированный из раздела выше.
Выберите и настройте.
Тестирование настраиваемого соединителя
Откройте меню Тест.
Выберите Создать подключение и создайте подключение, следуя отображаемым инструкциям.
В Power Apps выберите среду, а затем выберите Dataverse>Custom Connectors>CustomAzureDevOps.
Выберите Изменить, перейдите на страницу Тестирование и найдите операцию GetOrganizations.
Выберите Тест операции.
Перепроверьте, что возвращенный Response Status равен 200, а Response Body — это представление вашей организации Azure DevOps в формате JSON.
Настройка создателей для использования приложения ALM Accelerator
Настройка разрешений пользователя для учетной записи производителя в Dataverse и Azure DevOps.
Настройте пользовательские параметры развертывания, чтобы настроить взаимодействие приложения с пользователем и предоставить доступ к решениям и профилям развертывания.