使用 Azure DevOps 自動化標準邏輯應用程式工作流程的建置和部署
針對在單一租使用者 Azure Logic Apps 中執行的標準邏輯應用程式工作流程,您可以使用 Visual Studio Code 搭配 Azure Logic Apps (Standard) 擴充功能,使用任何原始檔控制系統在本機開發、測試及儲存邏輯應用程式專案。 不過,若要獲得跨不同環境和平臺輕鬆且一致地部署工作流程的完整優點,您也必須將建置和部署程序自動化。
Azure Logic Apps (Standard) 延伸模組提供工具,可讓您使用 Azure DevOps 建立和維護自動化建置和部署程式。 不過,在您啟動此自動化之前,請考慮下列元素:
您在其中建立工作流程的 Azure 邏輯應用程式資源
工作流程使用的 Azure 裝載連線,並從Microsoft受控連接器建立。
這些連線與直接和原生使用 Azure Logic Apps 執行時間執行的連線不同。
您想要部署的不同環境的特定設定和參數
延伸模組可協助您完成下列必要工作,以自動化建置和部署:
在設計時間參數化連接參考。 此工作可簡化在不同環境中更新參考的程式,而不需要中斷本機開發功能。
產生腳本,以自動化標準邏輯應用程式資源的部署,包括所有相依資源。
產生腳本,以自動化 Azure 裝載連線的部署。
準備可在建置程式期間插入 Azure Logic Apps 套件的環境特定參數,而不需要中斷本機開發功能。
使用 Azure DevOps 視需要產生管線,以支援基礎結構部署以及建置和發行程式。
本指南說明如何完成下列工作:
在 Visual Studio Code 中建立邏輯應用程式工作區和專案,其中包含建立基礎結構部署管線、持續整合 (CI) 和持續部署 (CD) 的檔案。
在 Azure DevOps 中建立工作區與 Git 存放庫之間的連線。
在 Azure DevOps 中建立管線。
如需詳細資訊,請參閱下列文件:
已知問題與限制
此功能僅支援標準邏輯應用程式專案。 如果您的 Visual Studio Code 工作區同時包含標準邏輯應用程式專案和 Functions 自定義程式碼專案,則兩者都會產生部署腳本,但目前會忽略自定義程式代碼專案。 為自定義程式碼建立建置管線的功能位於藍圖中。
延伸模組會建立基礎結構部署、持續整合 (CI) 和持續部署 (CD) 的管線。 不過,您必須負責將管線連線至 Azure DevOps,並建立相關的觸發程式。
目前,此延伸模組僅支援基礎結構部署腳本的 Azure 資源管理範本(ARM 範本)。 其他範本正在規劃中。
必要條件
Azure 帳戶和訂用帳戶。 如果您沒有訂用帳戶,請註冊一個免費的 Azure 帳戶。
具有 Azure Logic Apps (標準) 延伸模組的 Visual Studio Code。 若要符合這些需求,請參閱使用Visual StudioCode建立標準工作流程的必要條件。
Azure Logic Apps (標準) Azure DevOps 工作的建置和發行工作。 您可以在 Azure DevOps Marketplace 中找到這些工作。
Azure DevOps 中現有的 Git 存放庫,您可以在其中儲存邏輯應用程式專案。
與 現有服務主體的 Azure Resource Manager 服務連線。
您想要在其中部署邏輯應用程式的現有 Azure 資源群組 。
建立邏輯應用程式工作區、專案和工作流程
在 Visual Studio Code 的 [活動] 列上,選取 Azure 圖示。
在 Azure 視窗中的 [工作區] 工具列上,開啟 [Azure Logic Apps] 功能表,然後選取 [建立新的邏輯應用程式工作區]。
請遵循提示來完成下列工作:
選取要建立工作區的資料夾。
輸入工作區名稱。
選取專案類型: 邏輯應用程式
輸入您的邏輯應用程式項目名稱。
選取工作流程範本。 輸入您的工作流程名稱。
選取是否要在目前的 Visual Studio Code 視窗中或新的視窗中開啟工作區。
Visual Studio Code 會顯示新的工作區和邏輯應用程式專案。
請遵循下列步驟來開啟工作流程設計工具:
在您的邏輯應用程式專案中,使用您的工作流程名稱展開資料夾。
如果尚未開啟,請開啟 workflow.json 檔案、開啟檔案的快捷方式功能表,然後選取 [開啟設計工具]。
當系統提示您在專案載入時允許連線的參數化時,請選取 [ 是]。
此選取專案可讓您的專案在連線定義中使用參數,讓您可以針對不同的環境自動建置和部署。
請遵循提示來選取這些專案:
使用來自 Azure 的連接器
注意
如果您略過此步驟,則只能 使用裝載運行時間的內建連接器。 若要在稍後啟用受Microsoft管理的 Azure 裝載連接器,請遵循下列步驟:
開啟workflow.json檔案的快捷方式功能表,然後從 Azure 選取 [使用連接器]。
選取您要用於邏輯應用程式的現有 Azure 資源群組。
重載工作流程設計工具。
您想要用於邏輯應用程式的現有 Azure 資源群組
完成時,請重載工作流程設計工具。 如果出現提示,請登入 Azure。
您現在可以以任何方式編輯工作流程,並在本機測試工作流程。 若要建立及測試範例工作流程,請參閱 使用Visual Studio Code 建立標準工作流程。
產生部署腳本
建立工作流程並在本機測試之後,請建立部署腳本。
從所有項目檔底下的空白區域,開啟專案的快捷方式功能表,然後選取 [ 產生部署腳本]。
請遵循提示來完成下列步驟:
選取要用於邏輯應用程式的現有 Azure 資源群組。
輸入邏輯應用程式資源的唯一名稱。
輸入記憶體帳戶資源的唯一名稱。
輸入要用於App Service 方案的唯一名稱。
選取您要在其中產生檔案的工作區資料夾。
部署資料夾位置 描述 新增部署資料夾 (預設值) 在目前工作區中建立新的資料夾。 選擇不同的資料夾 選取目前工作區中的不同資料夾。
完成時,Visual Studio Code 會在工作區根目錄建立名為 deployment/{logic-app-name} 的資料夾。 此資料夾會使用您在這些步驟中提供的相同邏輯應用程式名稱。
注意
下列檔案中的變數、應用程式設定和參數值會根據您在這些步驟中提供的輸入預先填入。 當您以不同的環境為目標時,請確定您更新所建立參數和變數檔案的值。
在 {logic-app-name} 資料夾下,您有下列結構:
資料夾名稱 檔名和描述 ADOPipelineScripts - CD-pipeline.yml:持續傳遞管線,其中包含將邏輯應用程式程式代碼部署至 Azure 中邏輯應用程式資源的指示。
- CD-pipeline-variables.yml:YAML 檔案,其中包含CD-pipeline.yml檔案所使用的變數。
- CI-pipeline.yml:持續整合管線,其中包含建置和產生將邏輯應用程式資源部署至 Azure 所需的成品的指示。
- CI-pipeline-variables.yml:YAML 檔案,其中包含CI-pipeline.yml檔案所使用的變數。
- infrastructure-pipeline.yml:YAML「基礎結構即程式代碼」管線,其中包含將所有ARM範本載入至 Azure 的指示,以及執行infrastructure-pipeline-template.yml檔案中的步驟。
- infrastructure-pipeline-template.yml:YAML 管線檔案,其中包含部署具有所有必要相依性之邏輯應用程式資源的步驟,以及部署原始程式碼所需的每個受控連線。
- infrastructure-pipeline-variables.yml:YAML 管線,其中包含執行infrastructure-pipeline-template.yml檔案中步驟所需的所有變數。ArmTemplates - {connection-type}.parameters.json:Resource Manager 參數檔案,其中包含將名為 {connection-type} 的 Azure 裝載連線部署至 Azure 所需的參數。 此檔案存在於工作流程中每個 Azure 裝載的連線。
- {connection-type}.template.json:Resource Manager 範本檔案,代表名為 {connection-reference} 的 Azure 裝載連線,並包含用來將對應連線資源部署至 Azure 的資訊。 此檔案存在於工作流程中每個 Azure 裝載的連線。
- {logic-app-name}.parameters.json:Resource Manager 參數檔案,其中包含將名為 {logic-app-name} 的標準邏輯應用程式資源部署至 Azure 所需的參數,包括所有相依性。
- {logic-app-name}.template.json:Resource Manager 範本檔案,代表名為 {logic-app-name} 的標準邏輯應用程式資源,並包含用來將邏輯應用程式資源部署至 Azure 的資訊。WorkflowParameters parameters.json:此 JSON 檔案是本機參數檔案的複本,包含所有使用者定義參數的複本,以及擴充功能所建立之任何參數的雲端版本,以將 Azure 裝載的連線參數化。 此檔案可用來建置部署至 Azure 的套件。
將工作區連線至 Git 存放庫
請遵循下列步驟來初始化您的存放庫:
在 Visual Studio Code 的 [活動] 列上,選取 [原始檔控制 ] 圖示。
在 [ 原始檔控制] 視窗中,選取 [ 初始化存放庫]。
從提示功能表中,選取 [ 選擇資料夾]。 選取工作區根資料夾,然後選取 [ 初始化存放庫]。
在 [ 原始檔控制] 視窗中,選取 [ 開啟存放庫]。
從提示功能表中,選取您剛才建立的存放庫。
如需詳細資訊,請參閱 Visual Studio Code - 初始化本機資料夾中的存放庫。
請遵循下列步驟來取得 Git 存放庫的網址,以便您可以新增遠端:
在 Azure DevOps 中,開啟 Azure DevOps 組織的小組專案。
在左側功能表上,展開 [存放庫],然後選取 [ 檔案]。
在 [ 檔案 ] 窗格工具列上,選取 [ 複製]。
在 [ 複製存放庫 ] 視窗中,複製複製品 URL 的 HTTPS 版本。
如需詳細資訊,請參閱 在 Azure Repos 中取得 Git 存放庫的複製 URL。
請遵循下列步驟,為您的 Git 存放庫新增遠端:
在提示中,貼上您複製的URL,然後輸入遠端的名稱,通常是 原點。
您現在已建立 Visual Studio Code 與存放庫之間的連線。
在下一節中設定管線之前,請開啟 CD-pipeline.yml 檔案,並在屬性中
source
重新命名 CI 管線,以符合您想要使用的 CI 管線名稱。在 [ 原始檔控制] 視窗中,認可您的變更,並將其發佈至存放庫。
如需詳細資訊,請參閱 階段和認可程式代碼變更。
在 Azure DevOps 中建立管線
若要在 Azure DevOps 中建立基礎結構以及 CI 和 CD 管線,請針對下列每個管線檔案重複下列步驟:
- infrastructure-pipeline.yml「基礎結構即程式代碼」管線。
- 持續整合管線CI-pipeline.yml。
- 持續 傳遞管線CD-pipeline.yml。
設定管線
在 Azure DevOps 中,返回您的小組專案和 [存放庫>檔案] 窗格。
在 [ 檔案] 窗格中,選取 [ 設定組建]。
在 [ 清查管線] 窗格中,確認存放庫資訊,然後選取 [ 設定管線]。
在 [ 設定管線] 窗格中,選取 [現有的 Azure Pipelines YAML 檔案]。
在 [ 選取現有的 YAML 檔案 ] 窗格中,遵循下列步驟來選取您的 Infrastructure-pipeline.yml 檔案:
在 [ 設定管線] 窗格中,選取 [ 檢閱管線]。
在 [ 檢閱您控管的管線 ] 窗格中,提供下列資訊:
- 管線名稱:輸入管線的名稱。
- 管線資料夾:選取儲存管線的資料夾,其名稱為 ./deployment/{logic-app-name}/pipelines。
完成時,選取 [儲存]。
檢視和執行管線
若要尋找並執行管線,請遵循下列步驟:
如需詳細資訊,請參閱 建立您的第一個管線。