您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

使用 Azure DevOps 为流分析作业创建 CI/CD 管道Use Azure DevOps to create a CI/CD pipeline for a Stream Analytics job

本文介绍如何使用 Azure 流分析 CI/CD 工具创建 Azure DevOps 生成发布管道。In this article, you learn how to create Azure DevOps build and release pipelines using Azure Stream Analytics CI/CD tools.

提交流分析项目Commit your Stream Analytics project

在开始之前,请将完整的流分析项目作为源文件提交到 Azure DevOps 存储库。Before you begin, commit your complete Stream Analytics projects as source files to an Azure DevOps repository. 可以在 Azure Pipelines 中引用此示例存储库流分析项目源代码You can reference this sample repository and Stream Analytics project source code in Azure Pipelines.

本文中的步骤使用流分析 Visual Studio Code 项目。The steps in this article use a Stream Analytics Visual Studio Code project. 如果使用的是 Visual Studio 项目,请按照使用 CI/CD 工具自动执行 Azure 流分析作业的生成、测试和部署中的步骤操作。If you're using a Visual Studio project, follow the steps in Automate builds, tests, and deployments of an Azure Stream Analytics job using CI/CD tools.

创建生成管道Create a build pipeline

本部分介绍如何创建生成管道。In this section, you learn how to create a build pipeline.

  1. 打开 Web 浏览器并导航 Azure DevOps 中的项目。Open a web browser and navigate to your project in Azure DevOps.

  2. 在左侧导航菜单中的“管道”下,选择“生成”。Under Pipelines in the left navigation menu, select Builds. 然后,选择“新建管道”。Then, select New pipeline.

    创建新的 Azure 管道

  3. 选择“使用经典编辑器”在没有 YAML 的情况下创建一个管道。Select Use the classic editor to create a pipeline without YAML.

  4. 选择源类型、团队项目和存储库。Select your source type, team project, and repository. 然后选择“继续”。Then, select Continue.

    选择 Azure 流分析项目

  5. 在“选择模板”页上,选择“空作业”。On the Choose a template page, select Empty job.

安装 npm 包Install npm package

  1. 在“任务”页上,选择“代理作业 1”旁的加号。On the Tasks page, select the plus sign next to Agent job 1. 在任务搜索中输入 npm,并选择“npm”。Enter npm in the task search and select npm.

    选择 npm 任务

  2. 为任务指定“显示名称”。Give the task a Display name. 将“命令”选项更改为“自定义”,然后在“命令和参数”中输入以下命令。Change the Command option to custom and enter the following command in Command and arguments. 保留其余默认选项。Leave the remaining default options.

    install -g azure-streamanalytics-cicd
    

    输入 npm 任务的配置

如果需要使用托管 Linux 代理,请执行以下步骤:Use following steps if you need to use hosted-Linux agent:

  1. 选择“代理规范”Select your Agent Specification

    选择代理规范的屏幕截图。

  2. 在“任务”页上,选择“代理作业 1”旁的加号。On the Tasks page, select the plus sign next to Agent job 1. 在任务搜索中输入命令行,然后选择“命令行”。Enter command line in the task search and select Command line.

    搜索命令行任务的屏幕截图。

  3. 为任务指定“显示名称”。Give the task a Display name. 在“脚本”中输入以下命令。enter the following command in Script. 保留其余默认选项。Leave the remaining default options.

    sudo npm install -g azure-streamanalytics-cicd --unsafe-perm=true --allow-root
    

    为 cmd 任务输入脚本的屏幕截图。

添加生成任务Add a Build task

  1. 在“变量”页上,在“管道变量”中选择“+ 添加”。On the Variables page, select + Add in Pipeline variables. 添加以下变量。Add the following variables. 根据你的偏好设置以下值:Set the following values according to your preference:

    变量名称Variable name Value
    projectRootPathprojectRootPath [YourProjectName][YourProjectName]
    outputPathoutputPath 输出Output
    deployPathdeployPath 部署Deploy
  2. 在“任务”页上,选择“代理作业 1”旁的加号。On the Tasks page, select the plus sign next to Agent job 1. 搜索“命令行”。Search for Command line.

  3. 为任务指定“显示名称”,然后输入以下脚本。Give the task a Display name and enter the following script. 用存储库名称和项目名称修改脚本。Modify the script with your repository name and project name.

    azure-streamanalytics-cicd build -project $(projectRootPath)/asaproj.json -outputpath $(projectRootPath)/$(outputPath)/$(deployPath)
    

    下图使用流分析 Visual Studio Code 项目作为示例。The image below uses a Stream Analytics Visual Studio Code project as an example.

    为命令行任务 visual studio code 输入配置

添加测试任务Add a Test task

  1. 在“变量”页上,在“管道变量”中选择“+ 添加”。On the Variables page, select + Add in Pipeline variables. 添加以下变量。Add the following variables. 使用输出路径和存储库名称修改这些值。Modify the values with your output path and repository name.

    变量名称Variable name Value
    testPathtestPath 测试Test

    添加管道变量

  2. 在“任务”页上,选择“代理作业 1”旁的加号。On the Tasks page, select the plus sign next to Agent job 1. 搜索“命令行”。Search for Command line.

  3. 为任务指定“显示名称”,然后输入以下脚本。Give the task a Display name and enter the following script. 用项目文件名和测试配置文件的路径来修改脚本。Modify the script with your project file name and the path to the test configuration file.

    有关如何添加和配置测试用例的详细信息,请参阅自动测试说明See automated test instructions for details on how to add and configure test cases.

    azure-streamanalytics-cicd test -project $(projectRootPath)/asaproj.json -outputpath $(projectRootPath)/$(outputPath)/$(testPath) -testConfigPath $(projectRootPath)/test/testConfig.json 
    

    输入命令行任务的配置

添加复制文件任务Add a Copy files task

需要添加复制文件任务,以将测试摘要文件和 Azure 资源管理器模板文件复制到项目文件夹。You need to add a copy file task to copy the test summary file and Azure Resource Manager template files to the artifact folder.

  1. 在“任务”页上,选择“代理作业 1”旁的 +。On the Tasks page, select the + next to Agent job 1. 搜索“复制文件”。Search for Copy files. 然后输入以下配置。Then enter the following configurations. 通过将 ** 分配给“内容”,将复制测试结果的所有文件。By assigning ** to Contents, all files of the test results are copied.

    参数Parameter 输入Input
    显示名称Display name 将文件复制到:$(build.artifactstagingdirectory)Copy Files to: $(build.artifactstagingdirectory)
    源文件夹Source Folder $(system.defaultworkingdirectory)/$(outputPath)/
    目录Contents **
    目标文件夹Target Folder $(build.artifactstagingdirectory)
  2. 展开“控制选项”。Expand Control Options. 在“运行此任务”中选择“即使上一任务失败,除非已取消生成”。Select Even if a previous task has failed, unless the build was canceled in Run this task.

    输入复制任务的配置

添加发布生成项目任务Add a Publish build artifacts task

  1. 在“任务”页上,选择“代理作业 1”旁的加号。On the Tasks page, select the plus sign next to Agent job 1. 搜索“发布生成项目”,然后选择带有黑色箭头图标的选项。Search for Publish build artifacts and select the option with the black arrow icon.

  2. 展开“控制选项”。Expand Control Options. 在“运行此任务”中选择“即使上一任务失败,除非已取消生成”。Select Even if a previous task has failed, unless the build was canceled in Run this task.

    输入发布任务的配置

“保存”和“运行”Save and run

完成添加 npm 包、命令行、复制文件和发布生成项目任务后,请选择“保存并排队”。Once you have finished adding the npm package, command line, copy files, and publish build artifacts tasks, select Save & queue. 出现提示时,请输入保存注释,然后选择“保存并运行”。When you are prompted, enter a save comment and select Save and run. 可以从管道的“摘要”页下载测试结果。You can download the testing results from Summary page of the pipeline.

检查生成和测试结果Check the build and test results

可在“已发布”文件夹中找到测试摘要文件和 Azure 资源管理器模板文件。The test summary file and Azure Resource Manager Template files can be found in Published folder.

检查生成和测试结果

检查项目

使用 Azure Pipelines 发布Release with Azure Pipelines

本部分介绍如何创建发布管道。In this section, you learn how to create a release pipeline.

打开 Web 浏览器并导航到 Azure 流分析 Visual Studio Code 项目。Open a web browser and navigate to your Azure Stream Analytics Visual Studio Code project.

  1. 在左侧导航菜单中的“管道”下,选择“发布”。Under Pipelines in the left navigation menu, select Releases. 然后选择“新建管道”。Then select New pipeline.

  2. 选择“从空作业开始”。Select start with an Empty job.

  3. 在“项目”框中,选择“+ 添加项目”。In the Artifacts box, select + Add an artifact. 在“源”下,选择创建的生成管道,然后选择“添加”。Under Source, select the build pipeline you created and select Add.

    输入生成管道项目

  4. 将“阶段 1”的名称更改为“将作业部署到测试环境”。Change the name of Stage 1 to Deploy job to test environment.

  5. 添加新阶段并将其命名为“将作业部署到生产环境”。Add a new stage and name it Deploy job to production environment.

添加部署任务Add deploy tasks

  1. 从“任务”下拉列表中,选择“将作业部署到测试环境”。From the tasks dropdown, select Deploy job to test environment.

  2. 选择“代理作业”旁的 +,搜索“ARM 模板部署”。Select the + next to Agent job and search for ARM template deployment. 输入以下参数:Enter the following parameters:

    参数Parameter Value
    显示名称Display name 部署 myASAProjectDeploy myASAProject
    Azure 订阅Azure subscription 选择订阅。Choose your subscription.
    操作Action 创建或更新资源组Create or update resource group
    资源组Resource group 选择将包含流分析作业的测试资源组的名称。Choose a name for the test resource group that will contain your Stream Analytics job.
    位置Location 选择测试资源组的位置。Choose the location of your test resource group.
    模板位置Template location 链接的项目Linked artifact
    模板Template $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.json$(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.json
    模板参数Template parameters $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.parameters.json$(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.parameters.json
    重写模板参数Override template parameters -<arm_template_parameter> "your value".-<arm_template_parameter> "your value". 可以使用“变量”定义参数。You can define the parameters using Variables.
    部署模式Deployment mode 增量Incremental
  3. 从“任务”下拉列表中,选择“将作业部署到生产环境”。From the tasks dropdown, select Deploy job to production environment.

  4. 选择“代理作业”旁的 +,搜索“ARM 模板部署”。Select the + next to Agent job and search for ARM template deployment. 输入以下参数:Enter the following parameters:

    参数Parameter Value
    显示名称Display name 部署 myASAProjectDeploy myASAProject
    Azure 订阅Azure subscription 选择订阅。Choose your subscription.
    操作Action 创建或更新资源组Create or update resource group
    资源组Resource group 选择将包含流分析作业的生产资源组的名称。Choose a name for the production resource group that will contain your Stream Analytics job.
    位置Location 选择生产资源组的位置。Choose the location of your production resource group.
    模板位置Template location 链接的项目Linked artifact
    模板Template $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.json$(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.json
    模板参数Template parameters $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.parameters.json$(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.parameters.json
    重写模板参数Override template parameters -<arm_template_parameter> "your value"-<arm_template_parameter> "your value"
    部署模式Deployment mode 增量Incremental

创建发布Create a release

若要创建发布,请在右上角选择“创建发布”。To create a release, select Create release in the top-right corner.

使用 Azure Pipelines 创建发布

后续步骤Next steps