教學課程:將搭配 CI/CD 的應用程式部署到 Service Fabric 叢集

本教學課程是一個系列中的第四部分,說明如何使用 Azure Pipelines 來設定 Azure Service Fabric 應用程式的持續整合和部署。 需要現有的 Service Fabric 應用程式,在建置 .NET 應用程式中建立的應用程式將做為範例。

在系列的第三部分中,您將了解如何:

  • 將原始檔控制新增至專案
  • 在 Azure Pipelines 中建立組建管線
  • 在 Azure Pipelines 中建立發行管線
  • 自動部署和升級應用程式

在這些教學課程中,您將瞭解如何:

必要條件

開始進行本教學課程之前:

下載投票應用程式範例

如果您未在此 系列的第一部分中建置 Voting 範例應用程式,您可以加以下載。 在命令視窗中執行下列命令,將範例應用程式存放庫複製到本機電腦。

git clone https://github.com/Azure-Samples/service-fabric-dotnet-quickstart

下載發行設定檔

既然您已建立應用程式,並將應用程式部署至 Azure,您就可以設定持續整合。 首先,在應用程式中準備發行設定檔,以供在 Azure Pipelines 內執行的部署程序使用。 發佈配置檔應設定為以您先前建立的叢集為目標。 啟動 Visual Studio,並開啟現有的 Service Fabric 應用程式專案。 在 [方案總管] 中,以滑鼠右鍵按一下應用程式並選取 [發佈...]

在您的應用程式專案內選擇要使用於持續整合工作流程 (例如雲端) 的目標設定檔。 指定叢集連線端點。 勾選升級應用程式核取方塊,讓您的應用程式對於 Azure DevOps 中的每個部署升級。 選取 [ 儲存 ] 超連結以將設定儲存至發行配置檔,然後選擇 [ 取消 ] 以關閉對話框。

推送配置檔

向新的 Azure DevOps Git 儲存機制共用 Visual Studio 解決方案

向 Azure DevOps 中的專案共用應用程式原始檔,以便產生組建。

從 Visual Studio 2022 IDE 選取 [Git -> 從 Git 建立 Git 存放庫] 功能表,以從 Visual Studio 2022 IDE 建立新的 GitHub 存放庫和 Azure DevOps 存放庫

在下拉式清單中選取您的帳戶,然後輸入您的存放庫名稱,然後選取 [ 建立] 和 [推送 ] 按鈕。

建立新 Git 存放庫的螢幕快照。

發佈存放庫會在 Azure DevOps Services 帳戶中建立與本機存放庫同名的新專案。

流覽至 organizationname>、將滑鼠停留在https://dev.azure.com/\<項目名稱上方,然後選取 Repos 圖示,以檢視新建立的存放庫

設定 Azure Pipelines 的持續傳遞

Azure Pipelines 組建管線描述由一組循序執行的組建步驟所組成的工作流程。 建立產生 Service Fabric 應用程式封裝的組建管線,以及其他構件,以便部署到 Service Fabric 叢集。 深入了解 Azure Pipelines 組建管線

Azure Pipelines 發行管線描述將應用程式封裝部署到叢集的工作流程。 一起使用時,組建管線和發行管線可以執行整個工作流程;從來源檔案開始,並以叢集中的執行中應用程式結束。 深入了解 Azure Pipelines 發行管線 \(英文\)。

建立組建管線

開啟網頁瀏覽器並流覽至您的新專案,網址為: https://dev.azure.com/\<organizationname>/VotingSample

選取 [ 管線] 索引 卷標,然後選取 [ 建立管線]。

新增管線

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

傳統編輯器

針對手動和排程的組建,選取 [Azure Repos Git ] 作為來源、 VotingSample Team 專案、 VotingApplication 存放庫,以及 主要 預設分支。 然後選取 [繼續]

選取存放庫

[選取範本] 中 ,選取 Azure Service Fabric 應用程式 範本,然後選取 [ 套用]。

選擇建置範本

在 [ 工作] 中,輸入 “Azure Pipelines” 作為 代理程式集區 ,並將 windows-2022 輸入為代理程序規格。

選取工作

在 [觸發程序] 下方,透過核取 [啟用持續整合] 來啟用持續整合。 在 [分支篩選] 內,[分支規格] 會預設為 [主要]。 選取 [儲存並加入佇列] 以手動啟動組建。

選取觸發程式

推送或簽入時也會觸發組建。 若要檢查組建進度,請切換到 [組建] 索引標籤。一旦確認組建執行成功,請定義將應用程式部署至叢集的發行管線。

建立發行管線

依序選取 [管線] 索引標籤、[版本],以及 [+ 新增管線]。 在 [選取範本] 中,從清單中選取 [Azure Service Fabric 部署] 範本,然後選取 [套用]

選擇發行範本

選取 [工作],然後選取 [+新增] 以新增叢集連線。

新增叢集連線

在 [新增 Service Fabric 連線 檢視] 中,選取 [憑證型] 或 [Microsoft Entra 認證驗證]。 指定 tcp://mysftestcluster.southcentralus.cloudapp.azure.com:19000 的叢集端點“(或您要部署的叢集端點)。

若是憑證式驗證,請新增伺服器憑證的伺服器憑證指紋 (用來建立叢集的伺服器憑證)。 在 [用戶端憑證] 中,新增 Base-64 編碼的用戶端憑證檔案。 請參閱該欄位的快顯說明,了解如何取得以 Base-64 編碼表示的憑證。 以及新增憑證的密碼。 如果您沒有個別的用戶端憑證,您可以使用叢集或伺服器憑證。

若是 Microsoft Entra 認證,請新增伺服器憑證的伺服器憑證指紋 (用來建立叢集的伺服器憑證),以及在 [使用者名稱] 和 [密碼] 欄位中新增要用來連線到叢集的認證。

選取 [儲存]。

接下來,將組建成品新增至管線,讓發行管線可以從組建中找到輸出。 選取 [管線] 和 [成品]->[+新增]。 在 [來源 (組建定義)] 中,選取您先前建立的組建管線。 選取 [ 新增 ] 以儲存組建成品。

新增成品

啟用持續部署觸發程序,以便在組建完成時自動建立發行。 選取成品中的閃電圖示、啟用觸發程式,然後選擇 [ 儲存 ] 以儲存發行管線。

啟用觸發程式

選取 [建立發行 -> 建立 ] 以手動建立發行。 您可以在 [發行] 索引標籤中監視發行進度。

確認部署成功,且應用程式正在叢集中執行。 開啟 web 瀏覽器並巡覽至 https://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/。 記下應用程式版本。 在此範例中為 1.0.0.20170616.3

認可並推送變更,觸發發行程序

將某些程式碼變更簽入到 Azure DevOps,以確認持續整合管線正常運作。

當您撰寫程式代碼時,Visual Studio 會在 [Git 變更] 視窗的 [變更] 區段中,追蹤專案的檔案變更。

在 [ 變更 ] 檢視上,新增描述更新並認可變更的訊息。

全部認可

在 [ Git 變更 ] 視窗中,選取 [推播 ] 按鈕(向上箭號)以更新 Azure Pipelines 中的程式代碼。

推送變更

將變更推送至 Azure Pipelines 會自動觸發組建。 若要檢查組建進度,請切換至 中的 [https://dev.azure.com/organizationname/VotingSample管線] 索引卷標

建置完成時,會自動建立發行,並開始升級叢集上的應用程式。

確認部署成功,且應用程式正在叢集中執行。 開啟 web 瀏覽器並巡覽至 https://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/。 記下應用程式版本。 在此範例中為 1.0.0.20170815.3

在瀏覽器視窗中執行的 Service Fabric Explorer 中投票應用程式的螢幕快照。應用程式版本 「1.0.0.20170815.3」 已醒目提示。

更新應用程式

在應用程式中進行程式碼變更。 在先前的步驟儲存並認可變更。

應用程式的升級開始後,即可注意 Service Fabric Explorer 中的升級進度:

Service Fabric Explorer 中投票應用程式的螢幕快照。[正在升級] 和 [進行中升級] 訊息會反白顯示狀態消息。

應用程式升級可能需要幾分鐘的時間。 升級完成時,應用程式將執行下一個版本。 在這裡範例 1.0.0.20170815.4中, 。

在瀏覽器視窗中執行的 Service Fabric Explorer 中投票應用程式的螢幕快照。已更新的應用程式版本 「1.0.0.20170815.4」 已醒目提示。

下一步

在本教學課程中,您已了解如何:

  • 將原始檔控制新增至專案
  • 建立組建管線
  • 建立發行管線
  • 自動部署和升級應用程式

前進到下一個教學課程: