Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure
Azure Synapse Analytics
Совет
Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !
Ниже приведены шаги настройки выпуска Azure Pipelines для автоматизации развертывания фабрики данных в различные среды.
Требования
Подписка Azure, связанная с Azure DevOps Server (ранее Visual Studio Team Foundation Server) или Azure Repos, использующая конечную точку службы Azure Resource Manager.
Фабрика данных, настроенная для интеграции с Git в Azure Repos.
Хранилище ключей Azure, содержащее секреты для каждой среды.
Настройка релиза в Azure Pipelines
В Azure DevOps откройте проект, настроенный с фабрикой данных.
В левой части страницы выберите Конвейеры, а затем Выпуски.
Выберите Новый конвейер или, если у вас есть конвейеры, выберите Новый, а затем Создать конвейер выпуска.
Выберите шаблон Пустое задание.
В поле Имя этапа введите имя своей среды.
Щелкните Добавить артефакт, а затем выберите репозиторий Git, настроенный с вашей фабрикой данных для разработки. Выберите ветвь публикации репозитория для Ветви по умолчанию. По умолчанию эта ветвь публикации имеет значение
adf_publish
. Для поля Версия по умолчанию выберите Последний из ветви по умолчанию.Добавьте задачу развертывания Azure Resource Manager.
В представлении этапа выберите Просмотр задач этапа.
Создайте задачу. Найдите параметр Развертывание шаблона ARM, а затем щелкните Добавить.
В задаче "Развертывание" выберите подписку, группу ресурсов и расположение для целевой фабрики данных. При необходимости предоставьте учетные данные.
В списке Действие выберите Create or update resource group (Создание или изменение группы ресурсов).
Нажмите кнопку с многоточием (…) рядом с полем Шаблон. Найдите шаблон Azure Resource Manager, сгенерированный в ветке публикации настроенного репозитория Git. Найдите файл
ARMTemplateForFactory.json
в папке <FactoryName> ветви adf_publish. Дополнительные сведения об использовании связанных шаблонов ARM см. в статье "Развертывание связанных шаблонов ARM с помощью VSTS " и "Использование связанных шаблонов".Нажмите кнопку ... рядом с полем Параметры шаблона, чтобы выбрать файл параметров. Найдите файл
ARMTemplateParametersForFactory.json
в папке >FactoryName< ветви adf_publish.Нажмите кнопку ... рядом с полем Переопределить параметры шаблона и введите желаемые значения параметров для целевой фабрики данных. Для учетных данных, полученных из Azure Key Vault, заключите имя секрета в двойные кавычки. Например, если имя секрета — cred1, введите "$(cred1)" для этого значения.
Выберите Инкрементный для режима развертывания.
Предупреждение
В режиме полного развертывания ресурсы, которые существуют в группе ресурсов, но не указаны в новом шаблоне Resource Manager, будут удалены. Дополнительные сведения см. в статье Режимы развертывания Azure Resource Manager.
Сохраните конвейер выпуска.
Для активации выпуска нажмите кнопку Создать выпуск. Чтобы автоматизировать создание выпусков, см. статью Триггеры выпуска Azure DevOps.
Внимание
В сценариях CI/CD тип среды выполнения интеграции (IR) в разных средах должен совпадать. Например, если у вас есть локально развернутый IR в среде разработки, он должен также быть локально развернутым в других средах, таких как тестовая и рабочая. Аналогично, если вы совместно используете интеграционные среды выполнения на нескольких этапах, необходимо настроить их в качестве связанных автономных сред выполнения во всех средах, таких как разработка, тестирование и производство.
Получение секретов из Azure Key Vault
Если вам нужно передать секреты в шаблоне Azure Resource Manager, рекомендуем использовать Azure Key Vault с выпуском Azure Pipelines.
Обработать секреты можно двумя способами.
Добавьте секреты в файл параметров. Дополнительные сведения см. в статье Использование Azure Key Vault для передачи защищенного значения параметра во время развертывания.
Создайте копию файла параметров, который отправляется в ветвь публикации. Задайте значения параметров, которые требуется получить из Key Vault, в следующем формате:
{ "parameters": { "azureSqlReportingDbPassword": { "reference": { "keyVault": { "id": "/subscriptions/<subId>/resourceGroups/<resourcegroupId> /providers/Microsoft.KeyVault/vaults/<vault-name> " }, "secretName": " < secret - name > " } } } }
При использовании этого метода секрет автоматически извлекается из хранилища ключей.
Файл параметров также должен находиться в ветви публикации.
Перед задачей развертывания Azure Resource Manager, описанной в предыдущем разделе, добавьте задачу Azure Key Vault:
На вкладке Задачи создайте задачу. Найдите Azure Key Vault и добавьте его.
В задаче Key Vault выберите подписку, в которой вы создали хранилище ключей. При необходимости предоставьте учетные данные, а затем выберите хранилище ключей.
Предоставление разрешений для агента Azure Pipelines
Задача Azure Key Vault может завершиться ошибкой отказа в доступе, если не заданы правильные разрешения. Загрузите журналы для релиза и найдите .ps1 файл с командой для предоставления разрешений агенту Azure Pipelines. Вы можете выполнить команду напрямую. Или скопировать идентификатор участника из файла и вручную добавить политику доступа на портале Azure.
Get
и List
— минимальные требуемые разрешения.
Обновление активных триггеров
Чтобы установить модули Azure PowerShell, выполните инструкции из статьи Установка и настройка Azure PowerShell.
Предупреждение
Если вы не используете последние версии PowerShell и модуля Фабрики данных, во время выполнения команд могут возникнуть ошибки десериализации.
При попытке обновления активных триггеров развертывание может завершиться сбоем. Чтобы обновить активные триггеры, необходимо вручную остановить, а затем перезапустить их после развертывания. Это можно сделать с помощью задачи Azure PowerShell:
На вкладке Задачи выпуска добавьте задачу Azure PowerShell. Выберите версию задачи для последней версии Azure PowerShell.
Выберите подписку, в которой находится ваша фабрика.
В качестве типа сценария выберите Путь к файлу сценария. Для этого необходимо сохранить сценарий PowerShell в репозитории. Следующий сценарий PowerShell можно использовать для остановки триггеров:
$triggersADF = Get-AzDataFactoryV2Trigger -DataFactoryName $DataFactoryName -ResourceGroupName $ResourceGroupName $triggersADF | ForEach-Object { Stop-AzDataFactoryV2Trigger -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -Name $_.name -Force }
Вы можете выполнить те же шаги (с функцией Start-AzDataFactoryV2Trigger
), чтобы перезапустить триггеры после развертывания.
Команда фабрики данных предоставила пример сценария, выполняемого до и после развертывания.
Примечание.
Используйте PrePostDeploymentScript.Ver2.ps1, если требуется отключить или включить только те триггеры, которые были изменены, а не отключать и не включать все триггеры во время CI/CD.
Предупреждение
Обязательно используйте PowerShell Core в задаче ADO для запуска скрипта.