使用 Azure DevOps 建立串流分析作業的 CI/CD 管線

在本文中,您將了解如何使用 Azure 串流分析 CI/CD 工具來建立 Azure DevOps 組建發行管線。

認可串流分析專案

開始之前,請將完整的串流分析專案作為來源檔案認可至 Azure DevOps 存放庫。 您可以在 Azure Pipelines 中參考此範例存放庫串流分析專案原始程式碼

本文中的步驟會使用串流分析 Visual Studio Code 專案。 如果您使用 Visual Studio 專案,請依照使用 CI/CD 工具來自動建置、測試和部署 Azure 串流分析作業中的步驟進行。

建立組建管線

在本節中,您將了解如何建立組建管線。

  1. 開啟網頁瀏覽器並瀏覽至 Azure DevOps 中的專案。

  2. 在左側導覽功能表的 [管線] 下,選取 [組建]。 然後,選取 [新增管線]

    Create new Azure Pipeline

  3. 選取 [使用傳統編輯器來建立管線 (不使用 YAML)]

  4. 選取您的來源類型、小組專案和存放庫。 然後選取 [繼續]

    Select Azure Stream Analytics project

  5. 在 [選擇範本] 頁面上,選取 [空白作業]

安裝 npm 套件

  1. 在 [工作] 頁面上,選取 [代理程式作業 1] 旁的加號。 在工作搜尋中輸入 npm,然後選取 [npm]

    Select npm task

  2. 為工作指定顯示名稱。 將 [命令] 選項變更為 [自訂],然後在 [命令與引數] 中輸入下列命令。 保留其餘預設選項。

    install -g azure-streamanalytics-cicd
    

    Enter configurations for npm task

如果您需要使用裝載的 Linux 代理程式,請使用下列步驟:

  1. 選取您的 [代理程式規格]

    Screenshot of selecting agent specification.

  2. 在 [工作] 頁面上,選取 [代理程式作業 1] 旁的加號。 在工作搜尋中輸入「命令列」,然後選取 [命令列]

    Screenshot of searching commandline task.

  3. 為工作指定顯示名稱。 在 [指令碼] 中輸入下列命令。 保留其餘預設選項。

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

    Screenshot of entering script for cmd task.

新增建置工作

  1. 在 [變數] 頁面的 [管線變數] 中,選取 [+ 新增]。 加入下列變數。 根據您的喜好設定來設定下列值:

    變數名稱
    projectRootPath [您的專案名稱]
    outputPath 輸出
    deployPath 部署
  2. 在 [工作] 頁面上,選取 [代理程式作業 1] 旁的加號。 搜尋 [命令列]

  3. 為工作指定顯示名稱,然後輸入下列指令碼。 使用您的存放庫名稱和專案名稱來修改指令碼。

    注意

    強烈建議使用 build --v2 來產生用於部署的 ARM 範本。 新的 ARM 範本具有較少的參數,同時保留與舊版相同的功能。

    請注意,較舊的 ARM 範本很快就會被取代,只有使用 build --v2 建立的範本會收到更新和錯誤修正。

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

    影像中使用串流分析 Visual Studio Code 專案作為範例。

    Enter configurations for command-line task visual studio code

新增測試工作

  1. 在 [變數] 頁面的 [管線變數] 中,選取 [+ 新增]。 加入下列變數。 使用您的輸出路徑和存放庫名稱來修改值。

    變數名稱
    testPath Test

    Add pipeline variables

  2. 在 [工作] 頁面上,選取 [代理程式作業 1] 旁的加號。 搜尋 [命令列]

  3. 為工作指定顯示名稱,然後輸入下列指令碼。 使用您的專案檔案名稱和測試組態檔路徑來修改指令碼。

    如需如何新增和設定測試案例的詳細資料,請參閱自動化的測試指示

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

    Enter configurations for command-line task

新增複製檔案工作

您必須新增複製檔案工作,將測試摘要檔案和 Azure Resource Manager 範本檔案複製到成品資料夾。

  1. 在 [工作] 頁面上,選取 [代理程式作業 1] 旁的 +。 搜尋 [複製檔案]。 然後輸入下列設定。 藉由將 ** 指派給 [內容],就會複製測試結果的所有檔案。

    參數 輸入
    Display name 將檔案複製到:$(build.artifactstagingdirectory)
    來源資料夾 $(system.defaultworkingdirectory)/$(outputPath)/
    目錄 **
    目標資料夾 $(build.artifactstagingdirectory)
  2. 展開 [控制選項]。 在 [執行此工作] 中選取 [即使先前的工作失敗,除非組建已取消]

    Enter configurations for copy task

新增發佈組建成品工作

  1. 在 [工作] 頁面上,選取 [代理程式作業 1] 旁的加號。 搜尋 [發佈組建成品],然後選取具有黑色箭號圖示的選項。

  2. 展開 [控制選項]。 在 [執行此工作] 中選取 [即使先前的工作失敗,除非組建已取消]

    Enter configurations for publish task

儲存並執行

完成新增 npm 套件、命令列、複製檔案和發佈組建成品工作之後,請選取 [儲存並排入佇列]。 出現提示時,輸入 [儲存註解],然後選取 [儲存並執行]。 您可以從管線的 [摘要] 頁面下載測試結果。

檢查建置和測試結果

您可以在 [已發佈] 資料夾中找到測試摘要檔案和 Azure Resource Manager 範本檔案。

Check build and test result

Check artifacts

使用 Azure Pipelines 發行

在本節中,您將了解如何建立發行管線。

開啟網頁瀏覽器並瀏覽至您的 Azure 串流分析 Visual Studio Code 專案。

  1. 在左側導覽功能表的 [管線] 下,選取 [發行]。 然後選取 [新增管線]

  2. 選取 [從空白作業開始]

  3. 在 [成品] 方塊中,選取 [+ 新增成品]。 在 [來源] 下,選取您已建立的組建管線,然後選取 [新增]

    Enter build pipeline artifact

  4. 將 [階段 1] 的名稱變更為將作業部署到測試環境

  5. 新增階段,並將其命名為將作業部署到實際執行環境

新增部署工作

注意

Override template parameters 不適用於 ARM --v2 組建,因為參數會傳遞為物件。 若要解決此問題,建議您在管線中包含 PowerShell 指令碼,以 JSON 形式讀取參數檔案,並進行必要的參數修改。

如需新增 PowerShell 指令碼的詳細指導,請參閱 JSON 檔案中的 ConvertFrom-Json更新物件

  1. 從 [工作] 下拉式清單,選取 [將作業部署到測試環境]

  2. 選取 [代理程式作業] 旁的 +,然後搜尋 [ARM 範本部署]。 輸入下列參數:

    參數
    Display name 部署 myASAProject
    Azure 訂用帳戶 選擇您的訂用帳戶。
    動作 建立或更新資源群組
    資源群組 選擇將包含串流分析作業的測試資源群組名稱。
    Location 選擇您的測試資源群組位置。
    範本位置 連結成品
    範本 $(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> "您的值"。 您可以使用 [變數] 來定義參數。
    部署模式 增量
  3. 從 [工作] 下拉式清單,選取 [將作業部署到實際執行環境]

  4. 選取 [代理程式作業] 旁的 +,然後搜尋 [ARM 範本部署]。 輸入下列參數:

    參數
    Display name 部署 myASAProject
    Azure 訂用帳戶 選擇您的訂用帳戶。
    動作 建立或更新資源群組
    資源群組 選擇將包含串流分析作業的生產資源群組名稱。
    Location 選擇您的生產資源群組位置。
    範本位置 連結成品
    範本 $(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> "您的值"
    部署模式 增量

建立版本

若要建立發行,請選取右上角的 [建立發行]

Create a release using Azure Pipelines

下一步