Обзор интеграции Git в Power Platform

Интеграция системы управления версиями позволяет командам разработчиков синхронизировать решения и объекты решения в одной или нескольких средах Microsoft Dataverse с помощью репозитория Git в Azure DevOps. Функции интеграции системы управления версиями доступны в интерфейсах решений, поэтому разработчики-любители, разработчики, ориентирующиеся на написание кода, и администраторы могут воспользоваться преимуществами системы управления версиями, отслеживания изменений и бесперебойной совместной работы в различных инструментах и средах. Интеграция с Git предназначена для использования в средах разработки, а не в тестовых или производственных средах, где развертывания могут выполняться с использованием сборок для создания артефактов решений и конвейеров для Power Platform развертывания.

В этой статье вы узнаете о некоторых ключевых понятиях и преимуществах использования системы управления версиями с поддержкой Git в средах и решениях Dataverse. Дополнительные сведения о Git в Azure DevOps см. в репозитории Git в Azure DevOps.

Создатели в своих средах могут вносить изменения в неуправляемое решение и фиксировать Git перед развертыванием с помощью конвейеров

ALM в Power Platform и Dataverse

Power Platform предоставляет множество готовых возможностей, позволяющих организациям управлять жизненным циклом приложений (ALM) для своих решений. Включена возможность упаковки решений в контейнеры для множества различных типов объектов на платформе, управления средами, участвующими в жизненном цикле приложения, и развертывания решений с использованием конвейеров Power Platform. Существует также несколько способов интеграции репозиториев Git с Power Platform с помощью инструментов для разработчиков. Благодаря встроенной интеграции Git в Dataverse процесс упрощается и оптимизируется для создателей, чтобы они могли работать со своими решениями знакомым способом и взаимодействовать с системой управления версиями через упрощенные интерфейсы в Power Apps (make.powerapps.com).

Преимущества

  • Система управления версиями как источник достоверной информации: в некоторых организациях источником достоверной информации для развертываний в Dataverse являются среды создателей, в которых создаются решения. Основной причиной такого поведения является невстроенная интеграция Git, использующая передовые методы и инструменты, для начала работы с которыми требуются профессиональные ИТ-знания. Благодаря встроенной интеграции Git в Dataverse система управления версиями может быть включена всего за несколько шагов и предоставляет создателям знакомый интерфейс для работы со своими решениями.
  • Безопасность, аудит и соответствие требованиям с помощью рекомендаций SDLC: рекомендации по жизненному циклу разработки программного обеспечения (SDLC) — это набор рекомендаций и процессов, которые помогают эффективно управлять проектами разработки программного обеспечения. Используя интеграцию Dataverse с Git, вы будете следовать таким методикам SDLC, как управление версиями, проверка кода и статический анализ исходного кода, чтобы гарантировать качество, надежность и безопасность своих решений. Интеграция Dataverse с Git также предоставляет такие функции, как аудит, соответствие требованиям и отслеживаемость, которые помогают отслеживать изменения в решениях и эффективно сотрудничать с другими членами команды.
  • Краткосрочные среды разработки: сохраняя копию настроек и конфигураций сред в системе управления версиями, вы можете быстро и легко в Dataverse восстанавливать среды разработки из системы управления версиями. Это позволяет создавать краткосрочные среды для разработки и тестирования. Краткосрочные среды позволяют освобождать хранилище, экспериментировать с новыми функциями, тестировать и дорабатывать решения, не полагаясь на постоянные среды.
  • Команды разработчиков Fusion: команды разработчиков Fusion — это команды, состоящие как из разработчиков, так и из создателей, которые работают вместе над созданием решений. Используя интеграцию Dataverse с Git, эти пользователи могут осуществлять независимую разработку в отдельных средах и сотрудничать с другими пользователями, синхронизируя их с общим репозиторием системы управления версиями. Интеграция системы управления версиями позволяет использовать навыки и опыт как разработчиков, так и создателей для создания высококачественных решений, отвечающих потребностям вашей организации.
  • Защита: использование системы управления версиями в качестве источника достоверной информации для решений позволяет быстро и легко восстанавливаться после непреднамеренных изменений в решениях. Сохраняя решения в системе управления версиями, можно восстановить предыдущее состояние или версию.

Основные понятия

Неуправляемые и управляемые решения

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

Форматирование файла для объектов решения

С появлением интеграции Git в Dataverse произошли изменения в представлении решений и объектов решений в системе управления исходным кодом. При фиксации и отправке изменений в систему управления версиями объекты решения сохраняются в определенном формате, совместимом с Git. Этот формат используется для представления объектов решения в удобном для чтения и понимания виде, а также может использоваться для отслеживания изменений в объектах решения с течением времени. Формат файла для объектов решения разработан таким образом, чтобы его мог прочитать человек, и может использоваться для просмотра изменений в объектах решения в системе управления исходным кодом. Кроме того, чтобы обеспечить возможность хранения нескольких решений в одном репозитории и папке, объекты решений в системе управления исходным кодом больше не дублируются для каждого решения. Вместо этого объекты решения хранятся в одном месте и могут совместно использоваться несколькими решениями в одном репозитории и папке.

Разработка с ориентацией на код с помощью Git

Разработка с ориентацией на код в Power Platform осуществляется с помощью инструментов разработки, таких как интерфейс командной строки Power Platform, Visual Studio и расширения Visual Studio Code. Привлечение разработчиков, работающих с кодом, к процессу разработки решения затруднено без интеграции системы управления исходным кодом, поскольку такие объекты, как Power Apps элементы управления компонентной структурой и Dataverse плагины, развертываются в решениях как упакованные ресурсы, созданные из исходного кода, и не подлежат прямому редактированию в Power Apps (make.powerapps.com). Без контроля исходного кода как части процесса разработки как для low-code, так и для code-first объектов сложно управлять изменениями в решении и гарантировать, что изменения отслеживаются и развертываются контролируемым образом.

Включив интеграцию Dataverse с Git, вы сможете взаимодействовать с разработчиками, ориентированными на код, на том этапе, где они работают, и обеспечивать бесперебойную работу как для малокодовых разработчиков, так и для разработчиков, ориентированных на код. Однако при управлении объектами code-first в среде low-code следует учитывать некоторые соображения.

Смешанная разработка с интеграцией Git в Dataverse

Power Platform предоставляет возможности как для малокодовой разработки, так и с приоритетом кода. В этой статье рассматриваются процессы разработки code-first, связанные с Dataverse интеграцией с Git, а также даются рекомендации по управлению объектами code-first и low-code в единой среде. Такие объекты, как Power Apps элементы управления компонентной структурой, Dataverse плагины и настраиваемые действия рабочего процесса, являются примерами объектов code-first, которыми можно управлять в системе управления исходным кодом.

Объекты Code-first и low-code в одной среде

Объекты Code-first могут быть включены в решения посредством процесса сборки, который генерирует управляемое или неуправляемое решение, которое можно импортировать в Dataverse среду. Однако объекты code-first также можно развернуть непосредственно в неуправляемом решении в среде maker после их создания, не применяя процесс сборки решения для их развертывания. В рамках такой гибкости необходимо учитывать процесс сборки.

Если вы развертываете объекты code-first непосредственно в неуправляемом решении в среде maker, то при фиксации этих объектов в системе управления исходным кодом в системе управления исходным кодом сохраняется только их скомпилированная (собранная) версия. Например, двоичная библиотека DLL, если она является подключаемым модулем, или транспилированный и оптимизированный пакет JavaScript для элемента управления Power Apps component framework. В результате в системе управления исходным кодом оказывается две копии объекта: одна представлена собранной версией, а другая — исходным кодом. Хранение двоичных файлов в репозитории может привести к путанице и потенциальным конфликтам, если исходный код и собранная версия не синхронизированы. Такая практика не рекомендуется, поскольку исходный код должен быть единственным источником информации об объекте, и храниться должна только одна его копия.

Рекомендуемый подход заключается в создании объектов code-first в рамках процесса сборки решения и импорте сгенерированного неуправляемого решения в среду maker. Такой подход гарантирует синхронизацию исходного кода и построенной версии, а также то, что исходный код является единственным источником истины для объекта. Однако при таком подходе необходимо иметь в наличии процесс сборки для создания управляемого или неуправляемого решения для использования в процессе импорта и развертывания. Например, вы можете создавать Azure Pipelines или рабочие процессы GitHub, которые создают артефакты для конвейеров в Power Platform и процессах синхронизации Git для их использования.

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

Настройка интеграции Git с Dataverse