使用 Azure DevOps 建立串流分析作業的 CI/CD 管線
在本文中,您將了解如何使用 Azure 串流分析 CI/CD 工具來建立 Azure DevOps 組建和發行管線。
認可串流分析專案
開始之前,請將完整的串流分析專案作為來源檔案認可至 Azure DevOps 存放庫。 您可以在 Azure Pipelines 中參考此範例存放庫和串流分析專案原始程式碼。
本文中的步驟會使用串流分析 Visual Studio Code 專案。 如果您使用 Visual Studio 專案,請依照使用 CI/CD 工具來自動建置、測試和部署 Azure 串流分析作業中的步驟進行。
建立組建管線
在本節中,您將了解如何建立組建管線。
開啟網頁瀏覽器並瀏覽至 Azure DevOps 中的專案。
在左側導覽功能表的 [管線] 下,選取 [組建]。 然後,選取 [新增管線]。
選取 [使用傳統編輯器來建立管線 (不使用 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 輸出 deployPath 部署 在 [工作] 頁面上,選取 [代理程式作業 1] 旁的加號。 搜尋 [命令列]。
為工作指定顯示名稱,然後輸入下列指令碼。 使用您的存放庫名稱和專案名稱來修改指令碼。
注意
強烈建議使用
build --v2
來產生用於部署的 ARM 範本。 新的 ARM 範本具有較少的參數,同時保留與舊版相同的功能。請注意,較舊的 ARM 範本很快就會被取代,只有使用
build --v2
建立的範本會收到更新和錯誤修正。azure-streamanalytics-cicd build --v2 -project $(projectRootPath)/asaproj.json -outputpath $(projectRootPath)/$(outputPath)/$(deployPath)
影像中使用串流分析 Visual Studio Code 專案作為範例。
新增測試工作
在 [變數] 頁面的 [管線變數] 中,選取 [+ 新增]。 加入下列變數。 使用您的輸出路徑和存放庫名稱來修改值。
變數名稱 值 testPath Test 在 [工作] 頁面上,選取 [代理程式作業 1] 旁的加號。 搜尋 [命令列]。
為工作指定顯示名稱,然後輸入下列指令碼。 使用您的專案檔案名稱和測試組態檔路徑來修改指令碼。
如需如何新增和設定測試案例的詳細資料,請參閱自動化的測試指示。
azure-streamanalytics-cicd test -project $(projectRootPath)/asaproj.json -outputpath $(projectRootPath)/$(outputPath)/$(testPath) -testConfigPath $(projectRootPath)/test/testConfig.json
新增複製檔案工作
您必須新增複製檔案工作,將測試摘要檔案和 Azure Resource Manager 範本檔案複製到成品資料夾。
在 [工作] 頁面上,選取 [代理程式作業 1] 旁的 +。 搜尋 [複製檔案]。 然後輸入下列設定。 藉由將
**
指派給 [內容],就會複製測試結果的所有檔案。參數 輸入 Display name 將檔案複製到:$(build.artifactstagingdirectory) 來源資料夾 $(system.defaultworkingdirectory)/$(outputPath)/
目錄 **
目標資料夾 $(build.artifactstagingdirectory)
展開 [控制選項]。 在 [執行此工作] 中選取 [即使先前的工作失敗,除非組建已取消]。
新增發佈組建成品工作
在 [工作] 頁面上,選取 [代理程式作業 1] 旁的加號。 搜尋 [發佈組建成品],然後選取具有黑色箭號圖示的選項。
展開 [控制選項]。 在 [執行此工作] 中選取 [即使先前的工作失敗,除非組建已取消]。
儲存並執行
完成新增 npm 套件、命令列、複製檔案和發佈組建成品工作之後,請選取 [儲存並排入佇列]。 出現提示時,輸入 [儲存註解],然後選取 [儲存並執行]。 您可以從管線的 [摘要] 頁面下載測試結果。
檢查建置和測試結果
您可以在 [已發佈] 資料夾中找到測試摘要檔案和 Azure Resource Manager 範本檔案。
使用 Azure Pipelines 發行
在本節中,您將了解如何建立發行管線。
開啟網頁瀏覽器並瀏覽至您的 Azure 串流分析 Visual Studio Code 專案。
在左側導覽功能表的 [管線] 下,選取 [發行]。 然後選取 [新增管線]。
選取 [從空白作業開始]。
在 [成品] 方塊中,選取 [+ 新增成品]。 在 [來源] 下,選取您已建立的組建管線,然後選取 [新增]。
將 [階段 1] 的名稱變更為將作業部署到測試環境。
新增階段,並將其命名為將作業部署到實際執行環境。
新增部署工作
注意
Override template parameters
不適用於 ARM --v2 組建,因為參數會傳遞為物件。 若要解決此問題,建議您在管線中包含 PowerShell 指令碼,以 JSON 形式讀取參數檔案,並進行必要的參數修改。
如需新增 PowerShell 指令碼的詳細指導,請參閱 JSON 檔案中的 ConvertFrom-Json 和更新物件。
從 [工作] 下拉式清單,選取 [將作業部署到測試環境]。
選取 [代理程式作業] 旁的 +,然後搜尋 [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> "您的值"。 您可以使用 [變數] 來定義參數。 部署模式 增量 從 [工作] 下拉式清單,選取 [將作業部署到實際執行環境]。
選取 [代理程式作業] 旁的 +,然後搜尋 [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> "您的值" 部署模式 增量
建立版本
若要建立發行,請選取右上角的 [建立發行]。