CI/CD для конвейеров в фабрике данных в Microsoft Fabric

В Фабрике данных Fabric CI/CD (непрерывная интеграция и непрерывная разработка) помогает командам быстрее и надежнее обрабатывать изменения кода, от тестирования до развертывания.

Сейчас Fabric поддерживает две ключевые функции CI/CD, встроенные в партнерстве с командой управления жизненным циклом приложений (ALM): конвейеры интеграции и развертывания Git. Эти средства позволяют импортировать и экспортировать ресурсы рабочей области по отдельности, а также использовать Item Definitions Batch APIs (предварительная версия) для синхронизации нескольких элементов в масштабе. Эта гибкость позволяет обновлять только то, что необходимо, или массово внедрять изменения.

В отличие от фабрики данных Azure, которая обычно обновляет всю фабрику с помощью шаблонов ARM, подход Fabric обеспечивает больше контроля. Вы можете обновить определенные конвейеры без приостановки всего. Интеграция Git (использование собственного Git) и конвейеры CI/CD (встроенные функции CI/CD) связывают одну рабочую среду с одной целевой средой. Итак, вы хотите настроить отдельные рабочие области для разработки, тестирования и эксплуатации.

Сводка

В этой статье описано, как настроить конвейеры CI/CD для фабрики данных в Microsoft Fabric с помощью двух подходов: интеграции Git и конвейеров развертывания. Вы узнаете основы CI/CD, понять, как управление версиями Git работает с конвейерами и реализовать автоматизированные рабочие процессы развертывания.

Сначала ознакомьтесь с разделом "Общие сведения о CI/CD,Git" и конвейерах развертывания , чтобы узнать основные понятия непрерывной интеграции, непрерывного развертывания и интеграции управления версиями Git с конвейерами развертывания.

Чтобы настроить интеграцию Git для конвейеров, выполните следующие действия.

  1. Подключиться к репозиторию Git - Свяжите рабочую область Fabric с Azure DevOps или GitHub
  2. Подключение к рабочей области — Указание сведений о ветви и папке
  3. Фиксация изменений в Git — отслеживание и версионирование изменений в конвейере
  4. Обновление рабочей области из Git . Синхронизация изменений из репозитория Git (необязательно)

Чтобы настроить конвейеры развертывания, выполните следующие действия.

  1. Создайте конвейер развертывания - Определите структуру трубопровода CI/CD
  2. Назовите конвейер и назначьте этапы — настройте этапы разработки, тестирования и эксплуатации
  3. Назначение рабочей области конвейеру развертывания. Добавление содержимого для управления
  4. Развертывание на пустой стадии. Перемещение содержимого через этапы конвейера
  5. Развертывание содержимого из одного этапа в другой — продвижение изменений в средах

Почему разработчики используют CI/CD

CI/CD — это практика, которая автоматизирует доставку программного обеспечения, и она решает несколько известных точек боли:

  • Проблемы с интеграцией вручную: без CI/CD интеграция изменений кода вручную может привести к конфликтам и ошибкам, замедлению разработки.
  • Задержки разработки: развертывание вручную занимает много времени и подвержено ошибкам, что приводит к задержкам в доставке новых функций и обновлений.
  • Несогласованные среды: разные среды (разработка, тестирование и рабочая среда) могут иметь несоответствия, вызывая проблемы, которые трудно отлаживать.
  • Отсутствие видимости: без CI/CD, отслеживание изменений и понимание состояния базы кода может быть сложной задачей.

Общие сведения о конвейерах CI/CD, Git и развертывании

CI/CD состоит из непрерывной интеграции и непрерывного развертывания.

Непрерывная интеграция (CI)

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

Непрерывное развертывание (CD)

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

Интеграция Git с конвейерами Фабрики данных

Git — это система управления версиями, которая позволяет разработчикам отслеживать изменения в базе кода (или определения кода JSON для конвейеров) и сотрудничать с другими пользователями. Он предоставляет централизованный репозиторий, в котором изменения кода хранятся и управляются. В настоящее время Git поддерживается в Fabric через GitHub или Azure DevOps. При работе с Git необходимо понять несколько ключевых рабочих процессов.

  • Основная ветвь: основная ветвь, иногда именуемая главной ветвью, содержит рабочий готовый код.
  • Функциональные ветви: они отделены от основной ветви и позволяют изолировать разработку, не изменяя основную ветвь.
  • Запросы на вытягивание (PRs): PRs позволяют пользователям предлагать, просматривать и обсуждать изменения перед интеграцией.
  • Слияние. Это происходит при утверждении изменений. Git интегрирует эти изменения, постоянно обновляя проект.

Последние улучшения интеграции Git

Интеграция Fabric Git теперь включает выборочное сопоставление ветвей для каждой рабочей области или папки, чтобы вы могли использовать определенную ветвь для каждой рабочей области, не влияя на другие рабочие области в одном репозитории. Панель управления версиями также предоставляет встроенный интерфейс диффа, который позволяет сравнивать элементы рабочей области с фиксациями ветви перед фиксацией или извлечением обновлений. Эти улучшения помогают командам более четко просматривать изменения и управлять ветвленными рабочими областями с большей уверенностью.

Цепочки развертывания

Конвейеры развертывания тесно интегрированы с Git. Когда разработчик отправляет изменения кода в репозиторий Git, он активирует конвейер CI/CD. Эта интеграция гарантирует, что последние изменения кода всегда тестируются и развертываются автоматически.

Этапы и задания

Конвейеры развертывания состоят из нескольких этапов и заданий на каждом этапе. Как правило, эти этапы разделены на три среды: разработка (компиляция кода), тестирование (выполнение тестов) и рабочая среда (развертывание приложения). Конвейер проходит через эти этапы, обеспечивая тщательное тестирование и развертывание кода контролируемым образом.

Автоматизированные рабочие процессы

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

Начните работу с интеграцией Git для потоков

Выполните следующие действия, чтобы настроить интеграцию Git для конвейеров в Фабрике данных:

Предварительные требования для интеграции с Git

Чтобы получить доступ к Git с рабочей областью Microsoft Fabric, убедитесь в следующих предварительных требованиях для Fabric и Git.

Шаг 1. Подключение к репозиторию Git

Чтобы использовать интеграцию Git с конвейерами Фабрики данных в Fabric, сначала необходимо подключиться к репозиторию Git, как описано здесь.

  1. Войдите в Fabric и перейдите в рабочую область, которую вы хотите подключить к Git.

  2. Выберите параметры рабочей области.

    Снимок экрана: выбор параметров рабочей области в пользовательском интерфейсе Fabric.

  3. Выберите интеграцию с Git.

  4. Выберите поставщика Git. В настоящее время Fabric поддерживает только Azure DevOps или GitHub. Если вы используете GitHub, необходимо выбрать " Добавить учетную запись" для подключения учетной записи GitHub. После входа выберите "Подключиться", чтобы разрешить Fabric получить доступ к учетной записи GitHub.

    Снимок экрана, показывающий, где добавить учетную запись GitHub для интеграции с рабочей областью Fabric.

Шаг 2. Подключение к рабочей области

После подключения к репозиторию Git необходимо подключиться к рабочей области, как описано здесь.

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

    1. Для подключений ветви Azure DevOps укажите следующие сведения:

      • Организация: имя организации Azure DevOps.
      • Проект: имя проекта Azure DevOps.
      • Репозиторий Azure DevOps: имя репозитория.
      • Ветвь: имя ветви Azure DevOps.
      • Папка: имя папки Azure DevOps.
    2. Для подключений ветви GitHub укажите следующие сведения:

      • URL-адрес репозитория: URL-адрес репозитория GitHub.
      • Ветвь: имя ветви GitHub.
      • Папка: имя папки GitHub.
  2. Выберите "Подключиться и синхронизировать".

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

    Снимок экрана: рабочая область Fabric с состоянием Git и другими сведениями о конвейерах.

Шаг 3. Фиксация изменений в Git

После подключения к репозиторию и рабочей области Git можно зафиксировать изменения в Git, как описано здесь.

  1. Перейти в рабочую область.

  2. Выберите значок системы контроля версий. На этом значке показано количество незафиксированных изменений.

    Скриншот кнопки

  3. Перейдите на вкладку "Изменения" на панели управления "Источник". Список отображается со всеми изменёнными элементами и значком, указывающим состояние: Новый, Изменён, Конфликт, или Удалён.

  4. Выберите элементы, которые нужно зафиксировать. Чтобы выбрать все элементы, поставьте галочку в верхнем окне.

  5. (Необязательно) Добавьте комментарий к коммиту в поле.

  6. Выберите Коммит.

    Снимок экрана: диалоговое окно контроля версий для фиксации в Git.

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

Шаг 4. Обновление рабочей области из Git (необязательно)

  1. Перейти в рабочую область.

  2. Выберите значок системы управления версиями.

  3. Выберите «Обновления» на панели управления исходным кодом. Список отображается со всеми элементами, которые были изменены в ветви из источника подключения Git с момента последнего обновления.

  4. Выберите "Обновить все".

    Снимок экрана: вкладка

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

Начало работы с конвейерами развертывания для Git

Выполните следующие действия, чтобы использовать каналы развертывания Git с вашей рабочей областью Fabric.

Предварительные требования для конвейеров развертывания

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

  • Активная подписка на Microsoft Fabric.
  • Доступ администратора к рабочей области Fabric.

Шаг 1. Создание конвейера развертывания

  1. В всплывающем элементе "Рабочие области" выберите конвейеры развертывания.

    Снимок экрана: всплывающее окно

  2. Выберите "Создать конвейер" или + Новый конвейер.

Шаг 2. Назовите конвейер и назначьте этапы

  1. В диалоговом окне "Создание конвейера развертывания" введите имя и описание конвейера и нажмите кнопку "Далее".

  2. Задайте структуру конвейера развертывания, определив необходимые этапы для конвейера развертывания. По умолчанию конвейер имеет три этапа: разработка, тестирование и производство.

    Снимок экрана: этапы конвейера развертывания по умолчанию.

    Вы можете добавить еще один этап, удалить этапы или переименовать их, введя новое имя в поле. После завершения нажмите кнопку "Создать" (или "Создать" и продолжить).

    Снимок экрана: заполненный пример конвейера развертывания.

Шаг 3: Назначьте рабочую область для конвейера внедрения

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

Шаг 4. Развертывание на пустой сцене

  1. Завершив работу с содержимым на одном этапе конвейера, его можно развернуть на следующем этапе. Конвейеры развертывания предлагают три варианта развертывания содержимого:

  2. Выбрав способ развертывания содержимого, вы можете просмотреть развертывание и оставить заметку.

Шаг 5. Развертывание содержимого из одного этапа в другую

  1. Как только содержимое оказывается на этапе конвейера, его можно развернуть на следующем этапе, даже если в рабочем пространстве следующего этапа уже имеется содержимое. Парные элементы перезаписываются. Дополнительные сведения об этом процессе см. в разделе "Развертывание содержимого в существующей рабочей области ".
  2. Вы можете изучить журнал развертывания, чтобы увидеть последнее время развертывания содержимого на каждом этапе. Чтобы изучить различия между двумя конвейерами перед развертыванием, см. статью "Сравнение содержимого" на разных этапах развертывания.

Запланированная интеграция конвейера CI/CD

При создании расписания для конвейера он автоматически добавляется в репозиторий Git, подключенный к рабочей области, и хранится в файле schedules в определении конвейера.

Снимок экрана: файл schedules для запланированного конвейера в Фабрике данных Fabric.

Автоматизация CI/CD с помощью интерфейса командной строки Fabric и Azure DevOps Pipelines

Расширение Azure DevOps Pipelines для Fabric предоставляет собственные задачи, которые выполняют команды CLI Fabric в заданиях конвейера Azure DevOps. Эти задачи можно использовать для автоматизации синхронизации и развертывания рабочих областей в рамках рабочего процесса CI/CD.

Чтобы приступить к работе, выполните приведенные действия.

  1. Установите расширение Azure DevOps Pipelines для Fabric из Visual Studio Marketplace.
  2. Создайте подключение к службе в проекте Azure DevOps, которое проходит проверку подлинности на уровне арендатора Fabric.
  3. Добавьте задачи CLI Fabric в определение конвейера YAML или классического конвейера для выполнения таких команд, как синхронизация рабочих областей, экспорт элементов или продвижение развертывания.

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

Массовая синхронизация через API (предварительная версия)

Api пакетной службы импорта и экспорта определений элементов (предварительная версия) позволяют программным способом экспортировать и импортировать несколько определений элементов (включая конвейеры) в одной операции. Эти API можно использовать для упрощения сценариев продвижения среды, в которых многие элементы должны одновременно перемещаться между рабочими областями.

Рассмотрите использование пакетных API, когда:

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

Замечание

Эти API доступны в предварительной версии. Используйте их разумно вместе с конвейерами развертывания и ознакомьтесь с документацией по REST API Fabric для текущих ограничений и требований к проверке подлинности.

Известные ограничения

Следующие известные ограничения применяются к CI/CD для конвейеров в фабрике данных в Microsoft Fabric:

  • Переменные рабочей области: CI/CD в настоящее время не поддерживает переменные рабочей области.
  • Ограниченная поддержка интеграции Git: в настоящее время Fabric поддерживает интеграцию Git только с Azure DevOps и GitHub. Интеграция Azure DevOps Git рекомендуется, так как интеграция GitHub Git имеет больше ограничений.
  • Действия конвейера с соединителями OAuth: для соединителей MS Teams и Outlook при развертывании в более высокой среде пользователи должны вручную открывать каждый конвейер и входить в каждое действие, которое в настоящее время является ограничением.
  • Конвейеры, вызывающие потоки данных: когда конвейер, вызывающий поток данных, активируется, он по-прежнему будет ссылаться на поток данных в предыдущей рабочей области, что неправильно. Это происходит, так как потоки данных в настоящее время не поддерживаются в конвейерах развертывания.