CI/CD для конвейеров в фабрике данных в Microsoft Fabric
В Фабрике данных Fabric непрерывная интеграция и непрерывная разработка (CI/CD) автоматизирует интеграцию, тестирование и развертывание изменений кода для обеспечения эффективной и надежной разработки.
В Fabric есть две функции, которые мы в настоящее время поддерживаем в сотрудничестве с командой управления жизненным циклом приложений (ALM): интеграция Git и конвейеры развертывания. Эти функции позволяют пользователям импортировать и экспортировать ресурсы рабочей области с отдельными обновлениями.
Решение CI/CD фабрики данных Fabric отклоняется от модели Фабрика данных Azure, где все обновления фабрики с помощью методологии экспорта шаблонов ARM предпочтительнее. Это изменение в методологии позволяет клиентам выборочно выбирать конвейеры для обновления без приостановки всей фабрики. Интеграция Git (перенос собственных Git) и конвейеров развертывания (встроенная CI/CD) используют концепцию связанной рабочей области с одной средой. Необходимо сопоставить различные рабочие области с различными средами, такими как разработка, тестирование и производство.
Почему разработчики используют 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 необходимо понять несколько ключевых рабочих процессов.
- Основная ветвь: основная ветвь, иногда именуемая главной ветвью, содержит рабочий готовый код.
- Ветви компонентов: эти ветви отделены от основной ветви и позволяют изолировать разработку, не изменяя основную ветвь.
- Запросы на вытягивание (PR): PR позволяют пользователям предлагать, просматривать и обсуждать изменения перед интеграцией.
- Слияние. Это происходит при утверждении изменений. Git интегрирует эти изменения, постоянно обновляя проект.
Конвейеры развертывания для Git
Конвейеры развертывания тесно интегрированы с Git. Когда разработчик отправляет изменения кода в репозиторий Git, он активирует конвейер CI/CD. Эта интеграция гарантирует, что последние изменения кода всегда тестируются и развертываются автоматически.
Этапы и задания
Конвейеры развертывания состоят из нескольких этапов и заданий на каждом этапе. Как правило, эти этапы разделены на три среды: разработка (компиляция кода), тестирование (выполнение тестов) и рабочая среда (развертывание приложения). Конвейер выполняется на этих этапах, обеспечивая тщательное тестирование и развертывание кода в управляемом режиме.
Автоматизированные рабочие процессы
Конвейеры развертывания автоматизируют весь процесс создания, тестирования и развертывания кода. Эта автоматизация снижает риск человеческой ошибки, ускоряет процесс разработки и гарантирует, что изменения кода последовательно и надежно доставляются в рабочую среду.
Начало работы с интеграцией Git для конвейеров фабрики данных
Выполните следующие действия, чтобы настроить интеграцию Git для конвейеров в Фабрике данных:
Предварительные требования для интеграции с Git
Чтобы получить доступ к Git с рабочей областью Microsoft Fabric, убедитесь в следующих предварительных требованиях для Fabric и Git.
- Лицензия Power BI Premium или емкость Fabric.
- Включено следующее подключение клиента с портала администрирования:
- Учетная запись Azure DevOps или GitHub.
- Для учетной записи Azure DevOps:
- Активная учетная запись Azure, зарегистрированная для того же пользователя, который использует рабочую область Fabric. Создайте бесплатную учетную запись.
- Доступ к существующему репозиторию
- Для учетной записи GitHub:
- Активная учетная запись GitHub. Создайте бесплатную учетную запись.
- Подробный маркер с разрешениями на чтение и запись содержимого, в соответствии с разрешениями репозитория или классическим маркером GitHub с включенными областями репозитория.
- Для учетной записи Azure DevOps:
Шаг 1. Подключение к репозиторию Git
Чтобы использовать интеграцию Git с конвейерами Фабрики данных в Fabric, сначала необходимо подключиться к репозиторию Git, как описано здесь.
Войдите в Fabric и перейдите в рабочую область, которую вы хотите подключить к Git.
Выберите параметры рабочей области.
Выберите интеграцию Git.
Выберите поставщика Git. В настоящее время Fabric поддерживает только Azure DevOps или GitHub. Если вы используете GitHub, необходимо выбрать " Добавить учетную запись" для подключения учетной записи GitHub. После входа выберите "Подключиться", чтобы разрешить Fabric получить доступ к учетной записи GitHub.
Шаг 2. Подключение к рабочей области
После подключения к репозиторию Git необходимо подключиться к рабочей области, как описано здесь.
В раскрывающемся меню укажите следующие сведения о ветви, к которой вы хотите подключиться:
Для подключений ветви Azure DevOps укажите следующие сведения:
- Организация: имя организации Azure DevOps.
- Проект: имя проекта Azure DevOps.
- Репозиторий: имя репозитория Azure DevOps.
- Ветвь: имя ветви Azure DevOps.
- Папка: имя папки Azure DevOps.
Для подключений ветви GitHub укажите следующие сведения:
- URL-адрес репозитория: URL-адрес репозитория GitHub.
- Ветвь: имя ветви GitHub.
- Папка: имя папки GitHub.
Выберите "Подключиться и синхронизировать".
После подключения рабочая область отображает сведения о системе управления версиями, которая позволяет пользователям просматривать подключенную ветвь, состояние каждого элемента в ветви и время последней синхронизации.
Шаг 3. Фиксация изменений в Git
После подключения к репозиторию и рабочей области Git можно зафиксировать изменения в Git, как описано здесь.
Перейти в рабочую область.
Щелкните значок элемента управления версиями. На этом значке показано количество незафиксированных изменений.
Перейдите на вкладку "Изменения" на панели управления "Источник". Список отображается со всеми измененными элементами и значком, указывающим состояние:
New , Modified
, Conflict
или Deleted.
Выберите элементы, которые нужно зафиксировать. Чтобы выбрать все элементы, установите верхний флажок.
(Необязательно) Добавьте комментарий фиксации в поле.
Щелкните здесь Зафиксировать.
После фиксации изменений элементы, которые были зафиксированы, удаляются из списка, а рабочая область будет указывать на новую фиксацию, с с которым она синхронизирована.
Шаг 4. Обновление рабочей области из Git (необязательно)
Перейти в рабочую область.
Щелкните значок элемента управления версиями.
Выберите "Обновления" на панели управления версиями . Список отображается со всеми элементами, которые были изменены в ветви из источника подключения Git с момента последнего обновления.
Выберите "Обновить все".
После успешного обновления список элементов удаляется, а рабочая область будет указывать на новую фиксацию, с которой она синхронизирована.
Начало работы с конвейерами развертывания для Git
Выполните следующие действия, чтобы использовать конвейеры развертывания Git с рабочей областью Fabric.
Предварительные требования для конвейеров развертывания
Прежде чем приступить к работе, обязательно настройте следующие предварительные требования:
- Активная подписка Microsoft Fabric.
- Доступ администратора к рабочей области Fabric.
Шаг 1. Создание конвейера развертывания
В всплывающем элементе "Рабочие области" выберите конвейеры развертывания.
Выберите "Создать конвейер" или "Создать конвейер".
Шаг 2. Назовите конвейер и назначьте этапы
В диалоговом окне "Создание конвейера развертывания" введите имя и описание конвейера и нажмите кнопку "Далее".
Задайте структуру конвейера развертывания, определив необходимые этапы для конвейера развертывания. По умолчанию конвейер имеет три этапа: разработка, тестирование и производство.
Вы можете добавить еще один этап, удалить этапы или переименовать их, введя новое имя в поле. После завершения нажмите кнопку "Создать" (или "Создать" и продолжить).
Шаг 3. Назначение рабочей области конвейеру развертывания
После создания конвейера необходимо добавить содержимое, которое необходимо управлять конвейером. Добавление содержимого в конвейер выполняется путем назначения рабочей области этапу конвейера. Вы можете назначить рабочую область любому этапу. Следуйте инструкциям, чтобы назначить рабочую область конвейеру.
Шаг 4. Развертывание на пустом этапе
Завершив работу с содержимым на одном этапе конвейера, его можно развернуть на следующем этапе. Конвейеры развертывания предлагают три варианта развертывания содержимого:
- Полное развертывание: разверните все содержимое на целевом этапе.
- Выборочное развертывание: выберите содержимое для развертывания на целевом этапе.
- Обратное развертывание: развертывание содержимого с более поздней стадии до более ранней стадии в конвейере. В настоящее время обратное развертывание возможно только в том случае, если целевой этап пуст (не имеет рабочей области, назначенной ей).
Выбрав способ развертывания содержимого, вы можете просмотреть развертывание и оставить заметку.
Шаг 5. Развертывание содержимого из одного этапа в другую
- После размещения содержимого на этапе конвейера его можно развернуть на следующем этапе, даже если в следующей рабочей области есть содержимое. Парные элементы перезаписываются. Дополнительные сведения об этом процессе см. в разделе "Развертывание содержимого в существующей рабочей области ".
- Вы можете просмотреть журнал развертывания, чтобы просмотреть последнее время развертывания содержимого на каждом этапе. Чтобы изучить различия между двумя конвейерами перед развертыванием, см. статью "Сравнение содержимого" на разных этапах развертывания.
Известные ограничения
Следующие известные ограничения применяются к CI/CD для конвейеров в фабрике данных в Microsoft Fabric:
- Переменные рабочей области: CI/CD в настоящее время не поддерживает переменные рабочей области.
- Ограниченная поддержка интеграции Git: в настоящее время Fabric поддерживает интеграцию Git только с Azure DevOps и GitHub. Интеграция Azure DevOps Git рекомендуется, так как интеграция GitHub Git имеет больше ограничений.
- Действия конвейера с соединителями OAuth: для соединителей MS Teams и Outlook при развертывании в более высокой среде пользователи должны вручную открывать каждый конвейер и входить в каждое действие, которое в настоящее время является ограничением.
- Конвейеры, вызывающие потоки данных: когда конвейер, вызывающий поток данных, активируется, он по-прежнему будет ссылаться на поток данных в предыдущей рабочей области, что неправильно. Это происходит, так как потоки данных в настоящее время не поддерживаются в конвейерах развертывания.
Связанный контент
- Введение в процесс CI/CD в рамках цикла ALM в Microsoft Fabric
- Начало работы с интеграцией Git, инструментом управления жизненным циклом приложений Fabric (ALM)
- Начало работы с конвейерами развертывания, средством управления жизненным циклом приложений Fabric (ALM)
- Блог. Изучение возможностей CI/CD в Microsoft Fabric: фокус на конвейерах