Azure DevOps를 사용 하 여 Stream Analytics 작업에 대 한 CI/CD 파이프라인 만들기Use Azure DevOps to create a CI/CD pipeline for a Stream Analytics job

이 문서에서는 Azure Stream Analytics 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.

Stream Analytics 프로젝트 커밋Commit your Stream Analytics project

시작 하기 전에 전체 Stream Analytics 프로젝트를 원본 파일로 Azure DevOps 리포지토리에 커밋합니다.Before you begin, commit your complete Stream Analytics projects as source files to an Azure DevOps repository. Azure Pipelines에서이 샘플 리포지토리Stream Analytics 프로젝트 소스 코드 를 참조할 수 있습니다.You can reference this sample repository and Stream Analytics project source code in Azure Pipelines.

이 문서의 단계에서는 Stream Analytics Visual Studio Code 프로젝트를 사용 합니다.The steps in this article use a Stream Analytics Visual Studio Code project. Visual Studio 프로젝트를 사용 하는 경우 CI/CD 도구를 사용 하 여 Azure Stream Analytics 작업의 빌드, 테스트 및 배포 자동화의 단계를 따르세요.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. 웹 브라우저를 열고 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 Stream Analytics 프로젝트 선택

  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.

    Commandline 작업 검색의 스크린샷

  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)
    

    아래 이미지는 Stream Analytics 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
    Microsoft.vsts.test.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 Resource Manager 템플릿 파일을 아티팩트 폴더에 복사 해야 합니다.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 Resource Manager 템플릿 파일을 찾을 수 있습니다.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.

웹 브라우저를 열고 Azure Stream Analytics 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 MyASAProject 배포Deploy myASAProject
    Azure 구독Azure subscription 구독을 선택합니다.Choose your subscription.
    작업Action 리소스 그룹을 만들기 또는 업데이트Create or update resource group
    Resource groupResource group Stream Analytics 작업을 포함할 테스트 리소스 그룹의 이름을 선택 합니다.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-cicd-CI-배포/삭제/myASAProject.JobTemplate.js$(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.json
    템플릿 매개 변수Template parameters $ (System.defaultworkingdirectory)/_azure-cicd-CI-배포/삭제/myASAProject.JobTemplate.parameters.js$(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.parameters.json
    템플릿 매개 변수 재정의Override template parameters -<arm_template_parameter "사용자의 값"을> 합니다.-<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 MyASAProject 배포Deploy myASAProject
    Azure 구독Azure subscription 구독을 선택합니다.Choose your subscription.
    작업Action 리소스 그룹을 만들기 또는 업데이트Create or update resource group
    Resource groupResource group Stream Analytics 작업을 포함할 프로덕션 리소스 그룹의 이름을 선택 합니다.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-cicd-CI-배포/삭제/myASAProject.JobTemplate.js$(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.json
    템플릿 매개 변수Template parameters $ (System.defaultworkingdirectory)/_azure-cicd-CI-배포/삭제/myASAProject.JobTemplate.parameters.js$(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.parameters.json
    템플릿 매개 변수 재정의Override template parameters -<arm_template_parameter "사용자 값">-<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