Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье вы узнаете, как создавать конвейеры Azure DevOps build и Azure Stream Analytics release с помощью средств CI/CD.
Сделайте коммит проекта Stream Analytics
Прежде чем начать, зафиксируйте все проекты Stream Analytics в качестве исходных файлов в репозиторий Azure DevOps. Вы можете ссылаться на этот примерный репозиторий и исходный код проекта Stream Analytics в Azure Pipelines.
Действия, описанные в этой статье, используют проект Stream Analytics Visual Studio Code. Если вы используете проект Visual Studio, выполните действия, описанные в разделе автоматизируйте сборку, тестирование и развертывание задания Azure Stream Analytics с помощью инструментов CI/CD.
Создание конвейера сборки
В этом разделе вы узнаете, как создать конвейер сборки.
Откройте веб-браузер и перейдите к проекту в Azure DevOps.
В пункте Pipelines в меню навигации слева выберите Сборки. Затем выберите новый конвейер.
Выберите " Использовать классический редактор" для создания конвейера без YAML.
Выберите тип источника, командный проект и репозиторий. Затем нажмите кнопку "Продолжить".
На странице "Выбор шаблона" выберите пустое задание.
Установка пакета npm
На странице "Задачи" выберите знак "плюс" рядом с заданием агента 1. Введите npm в поиске задач и выберите npm.
Укажите отображаемое имя задачи. Измените параметр Команда на настраиваемый и введите следующую команду в Команда и аргументы. Не изменяйте другие параметры по умолчанию.
install -g azure-streamanalytics-cicd
Чтобы использовать размещенный агент Linux, выполните следующие действия.
Выберите спецификацию агента.
На странице "Задачи" выберите знак "плюс" рядом с заданием агента 1. Введите командную строку в поиске задач и выберите командную строку.
Укажите отображаемое имя задачи. Введите следующую команду в скрипте. Не изменяйте другие параметры по умолчанию.
sudo npm install -g azure-streamanalytics-cicd --unsafe-perm=true --allow-root
Добавление задачи сборки
На странице "Переменные" выберите +Добавить в переменные конвейера. Добавьте следующие переменные. Задайте следующие значения в соответствии с вашими предпочтениями.
Имя переменной Значение projectRootPath [ИмяВашегоПроекта] выходной_путь (outputPath) Выходные данные путь развертывания Развернуть На странице "Задачи" выберите знак "плюс" рядом с заданием агента 1. Найдите командную строку.
Укажите отображаемое имя задачи и введите следующий скрипт. Измените сценарий, указав имена вашего репозитория и вашего проекта.
Примечание.
Настоятельно рекомендуется использовать
build --v2команду для создания шаблона ARM для развертывания. Новый шаблон ARM имеет меньше параметров, сохраняя те же функции, что и предыдущая версия.Старый шаблон ARM скоро будет объявлен устаревшим. Только шаблоны, созданные с помощью
build --v2, получают обновления и исправления ошибок.azure-streamanalytics-cicd build --v2 -project $(projectRootPath)/asaproj.json -outputpath $(projectRootPath)/$(outputPath)/$(deployPath)На следующем рисунке в качестве примера используется проект Stream Analytics Visual Studio Code.
Добавление задачи теста
На странице "Переменные" выберите +Добавить в переменные конвейера. Добавьте следующие переменные. Измените значения, указав ваш путь вывода и имя вашего репозитория.
Имя переменной Значение testPath Тест На странице "Задачи" выберите знак "плюс" рядом с заданием агента 1. Найдите командную строку.
Укажите отображаемое имя задачи и введите следующий скрипт. Измените скрипт, указав имя вашего файла проекта и путь к файлу конфигурации теста.
Дополнительные сведения о добавлении и настройке тестовых вариантов см. в инструкции по автоматическому тестированию .
azure-streamanalytics-cicd test -project $(projectRootPath)/asaproj.json -outputpath $(projectRootPath)/$(outputPath)/$(testPath) -testConfigPath $(projectRootPath)/test/testConfig.json
Добавление задачи копирования файлов
Добавьте задачу копирования файла, чтобы скопировать сводный тестовый файл и файлы шаблонов Azure Resource Manager в папку артефактов.
На странице "Задачи" выберите + рядом с работой агента 1. Найдите файлы копирования. Затем введите следующие конфигурации. При назначении
**к Содержимому копируются все файлы результатов теста.Параметр Ввод Показать имя Копировать файлы в: $(build.artifactstagingdirectory) Исходная папка $(system.defaultworkingdirectory)/$(outputPath)/Содержимое **Целевая папка $(build.artifactstagingdirectory)Разверните параметры управления. Выберите "Даже если предыдущая задача завершилась с ошибкой, если сборка не была отменена" в Выполнить эту задачу.
Добавьте действие публикации артефактов сборки
На странице "Задачи" выберите знак "плюс" рядом с заданием агента 1. Найдите опубликовать артефакты сборки и выберите опцию с иконкой черной стрелки.
Разверните опции управления. Выберите «Даже если предыдущая задача завершилась ошибкой, если сборка не была отменена» в разделе «Выполнение этой задачи».
Сохранение и запуск
После завершения добавления задачи пакета npm, командной строки, копирования файлов и задач публикации артефактов сборки выберите Сохранить и поставить в очередь. При появлении запроса введите комментарий сохранения и нажмите кнопку "Сохранить и запустить". Результаты тестирования можно скачать на странице Резюме потока данных.
Проверка результатов сборки и теста
Файл сводки теста и файлы шаблонов Azure Resource Manager можно найти в папке Published.
Выпуск версии с использованием Azure Pipelines
В этом разделе вы узнаете, как создать конвейер выпуска.
Откройте веб-браузер и перейдите к проекту Azure Stream Analytics Visual Studio Code.
В разделе "Конвейеры" в меню навигации слева выберите "Выпуски". Затем нажмите New pipeline (Создать конвейер).
Выберите "Начать с пустого задания".
В поле "Артефакты" нажмите кнопку +Добавить артефакт. В разделе "Источник" выберите созданный конвейер сборки и нажмите кнопку "Добавить".
Измените имя Этап 1 на развертывание задачи в тестовую среду.
Добавьте новый этап и назовите его Развертывание задачи в рабочую среду.
Добавление задач развертывания
Примечание.
Параметр шаблона Override неприменим к сборкам Azure Resource Manager версии 2, поскольку процесс передает параметры как объекты. Чтобы обойти это ограничение, добавьте сценарий PowerShell в конвейер, который считывает файл параметров в формате JSON и вносит необходимые изменения параметров.
Дополнительные сведения о добавлении скрипта PowerShell см. в разделе ConvertFrom-Json и Update Object в JSON-файле.
В раскрывающемся списке задач выберите "Развернуть задание для тестирования среды".
Выберите +, расположенный рядом с заданием агента, и выполните поиск развертывания шаблона ARM. Задайте следующие параметры:
Параметр Значение Показать имя Развертывание myASAProject подписка Azure Выберите свою подписку. Действие Создание или обновление группы ресурсов Группа ресурсов Выберите имя тестовой группы ресурсов, содержащей задание Stream Analytics. Расположение Выберите расположение группы ресурсов тестовой среды. Расположение шаблона Связанный артефакт Шаблон $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.jsonПараметры шаблона $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.parameters.jsonПереопределение параметров шаблона -<arm_template_parameter> "your value". Определите параметры с помощью переменных.Режим развертывания Постепенный В раскрывающемся списке задач выберите «Развернуть задание в промышленной среде».
Выберите +, расположенный рядом с заданием агента, и найдите развертывание шаблона ARM. Задайте следующие параметры:
Параметр Значение Показать имя Развертывание myASAProject подписка Azure Выберите свою подписку. Действие Создание или обновление группы ресурсов Группа ресурсов Выберите имя рабочей группы ресурсов, содержащей задание Stream Analytics. Расположение Выберите расположение группы ресурсов производственной среды. Расположение шаблона Связанный артефакт Шаблон $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.jsonПараметры шаблона $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.parameters.jsonПереопределение параметров шаблона -<arm_template_parameter> "your value"Режим развертывания Постепенный
Создание выпуска
Чтобы создать выпуск, выберите "Создать выпуск " в правом верхнем углу.