Использование пакета NuGet CI/CD для Azure Stream Analytics в процессах интеграции и разработки

Из этой статьи вы узнаете, как использовать пакет NuGet CI/CD для Azure Stream Analytics, чтобы создать процесс непрерывной поставки и непрерывной интеграции.

Чтобы получить поддержку MSBuild, используйте инструменты Stream Analytics для Visual Studio версии 2.3.0000.0 или выше.

Доступен пакет NuGet Microsoft.Azure.Stream Analytics.CICD. Он предоставляет MSBuild и средства локального выполнения и развертывания, которые поддерживают процесс непрерывной интеграции и развертывания проектов Visual Studio для Stream Analytics.

Примечание.

Пакет NuGet может использоваться только с версией 2.3.0000.0 или более поздней версией средств Stream Analytics для Visual Studio. При наличии проектов, созданных в предыдущих версиях средств Visual Studio, откройте его с помощью версии 2.3.0000.0 или более поздней версии и сохраните. После этого будут включены новые возможности.

Дополнительные сведения см. в статье Использование инструментов Azure Stream Analytics для Visual Studio.

MSBuild

Как и в стандартном интерфейсе Visual Studio MSBuild, для выполнения сборки проекта имеются две возможности. Можно щелкнуть правой кнопкой мыши проект и выбрать Собрать. Можно также использовать MSBuild в пакете NuGet из командной строки.

./build/msbuild /t:build [Your Project Full Path] /p:CompilerTaskAssemblyFile=Microsoft.WindowsAzure.StreamAnalytics.Common.CompileService.dll  /p:ASATargetsFilePath="[NuGet Package Local Path]\build\StreamAnalytics.targets"

При успешном выполнении сборки проекта Stream Analytics Visual Studio создаются два файла шаблона Azure Resource Manager в папке bin/[Debug/Retail]/Deploy:

  • файл шаблона Resource Manager;

    [ProjectName].JobTemplate.json

  • файл параметров Resource Manager.

    [ProjectName].JobTemplate.parameters.json

Параметры по умолчанию в файле parameters.json на основе параметров в проекте Visual Studio. При необходимости развертывания в другой среде замените соответствующие параметры.

Примечание.

Для всех учетных данных значения по умолчанию имеют значение NULL. Их необходимо установить перед развертыванием в облаке.

"Input_EntryStream_sharedAccessPolicyKey": {
      "value": null
    },

Узнайте, как развернуть файл шаблона Resource Manager с помощью Azure PowerShell. Узнайте, как использовать объект в качестве параметра в шаблоне Resource Manager.

Чтобы использовать управляемое удостоверение для Azure Data Lake Store 2-го поколения в качестве приемника вывода, перед развертыванием в Azure необходимо предоставить доступ к субъекту-службе с помощью PowerShell. Дополнительные сведения о развертывании ADLS 2-го поколения с помощью управляемого удостоверения с помощью шаблона Resource Manager.

Программа командной строки

Сборка проекта

В пакете NuGet есть служебная программа командной строки, которая называется SA.exe. Она поддерживает сборку проекта и локальное тестирование на произвольном компьютере, которое можно использовать в процессе непрерывной интеграции и непрерывной доставки.

Файлы развертывания по умолчанию помещаются в текущем каталоге. С помощью параметра -OutputPath можно указать выходной путь.

./tools/SA.exe build -Project [Your Project Full Path] [-OutputPath <outputPath>] 

Тестирование сценария локально

Если в проекте указаны локальные входные файлы Visual Studio, можно выполнить автоматическое тестирование сценария с помощью команды localrun. Выходной результат помещается в текущий каталог.

localrun -Project [ProjectFullPath]

Создайте файл определения задания для использования с API PowerShell для Stream Analytics.

Команда arm принимает шаблон задания и файл параметров шаблона задания, созданный путем сборки в качестве входных данных. Затем объедините их в файл определения задания JSON, который может использоваться с API PowerShell для Stream Analytics.

arm -JobTemplate <templateFilePath> -JobParameterFile <jobParameterFilePath> [-OutputFile <asaArmFilePath>]

Пример:

./tools/SA.exe arm -JobTemplate "ProjectA.JobTemplate.json" -JobParameterFile "ProjectA.JobTemplate.parameters.json" -OutputFile "JobDefinition.json" 

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