共用方式為


教學課程:使用 Azure Pipelines 持續整合的 ARM 模板

在上一個教學中,您已部署連結的範本。 在本教學課程中,您將瞭解如何使用 Azure Pipelines 持續建置和部署 Azure Resource Manager 範本 (ARM 範本) 專案。

Azure DevOps 提供開發人員服務,以支援團隊規劃工作、共同處理代碼開發及建構與部署應用程式。 開發人員可以使用 Azure DevOps Services 在雲端工作。 Azure DevOps 提供整合的功能,可讓您透過網頁瀏覽器或 IDE 用戶端存取。 Azure Pipelines 是其中一項功能。 Azure Pipelines 是功能完整的持續整合 (CI) 和持續傳遞 (CD) 服務。 其可與您慣用的 Git 提供者搭配使用,並可部署到大部分的主要雲端服務。 然後,您可以將程式碼的建置、測試和部署自動化,並使用 Microsoft Azure、Google Cloud Platform 或 Amazon Web Services。

備註

挑選項目名稱。 當您完成本教學課程時,請將任何 ARMPipelineProj 取代為您的項目名稱。 此專案名稱可用來產生資源名稱。 其中一個資源是記憶體帳戶。 儲存體帳戶名稱長度必須介於 3 到 24 個字元之間,且只能使用數位和小寫字母。 名稱必須是唯一的。 在範本中,記憶體帳戶名稱是附加 存放區 的專案名稱,且專案名稱必須介於 3 到 11 個字元之間。 因此,專案名稱必須符合記憶體帳戶名稱需求,且少於 11 個字元。

本教學課程涵蓋下列工作:

  • 準備 GitHub 存放庫
  • 建立 Azure DevOps 專案
  • 建立 Azure 管線
  • 確認管線部署
  • 更新範本並重新部署
  • 清理資源

如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶

先決條件

若要完成本文,您需要:

準備 GitHub 存放庫

GitHub 可用來儲存專案原始程式碼,包括 Resource Manager 範本。 如需其他支援的存放庫,請參閱 Azure DevOps 支援的存放庫

建立 GitHub 存放庫

如果您沒有 GitHub 帳戶,請參閱 必要條件

  1. 登入 GitHub

  2. 選取右上角的帳戶映像,然後選取 您的存放庫

    為 Azure Resource Manager Azure DevOps Azure Pipelines 建立 GitHub 存放庫的螢幕快照。

  3. 選取 [ 新增],選取綠色按鈕。

  4. [存放庫名稱] 中,輸入存放庫名稱。 例如 ARMPipeline-repo。 請記得將任何 ARMPipeline 替換為您的項目名稱。 您可以選取 [公用 ] 或 [私人] 以完成本教學課程。 然後選取 [建立存放庫]。

  5. 記下 URL。 存放庫網址的格式如下 : https://github.com/[YourAccountName]/[YourRepositoryName]

此存放庫稱為 遠端存放庫。 相同專案的每位開發人員都可以複製自己的 本機存放庫,並將變更合併至遠端存放庫。

複製遠端存放庫

  1. 開啟 Git Shell 或 Git Bash。 請參閱必要條件

  2. 確認您目前的資料夾為 GitHub

  3. 執行下列命令:

    git clone https://github.com/[YourAccountName]/[YourGitHubRepositoryName]
    cd [YourGitHubRepositoryName]
    mkdir create_web_app
    cd create_web_app
    pwd
    

    [YourAccountName] 替換為您的 GitHub 帳戶名稱,並將 [YourGitHubRepositoryName] 替換為您在上一個步驟中建立的存放庫名稱。

create_web_app資料夾是儲存範本的資料夾。 此命令 pwd 會顯示資料夾路徑。 路徑是您在以下過程中儲存範本的位置。

下載快速入門範本

您可以下載範本並將其儲存至 create_web_app 資料夾,而不是建立範本。

資料夾名稱和檔名會直接如原本樣式在管線中使用。 如果您變更這些名稱,則必須更新管線中使用的名稱。

將範本推送至遠端存放庫

azuredeploy.json 已新增至本機存放庫。 接下來,您會將範本上傳至遠端存放庫。

  1. 如果未開啟 Git ShellGit Bash,請開啟它。

  2. 將目錄變更為本機存放庫中 的 create_web_app 資料夾。

  3. 確認 azuredeploy.json 檔案位於資料夾中。

  4. 執行下列命令:

    git add .
    git commit -m "Add web app templates."
    git push origin main
    

    您可能會收到關於 LF 的警告。 您可以忽略警告。 main 是主要分支。 您通常會為每個更新建立分支。 為了簡化本教學課程,您可以直接使用主分支。

  5. 從瀏覽器瀏覽至您的 GitHub 存放庫。 URL 是 https://github.com/[YourAccountName]/[YourGitHubRepository]。 您應該會看到 資料夾內的create_web_app 資料夾和兩個檔案。

  6. 選取 azuredeploy.json 以開啟範本。

  7. 點選 [原始] 按鈕。 URL 開頭為 https://raw.githubusercontent.com

  8. 製作 URL 的複本。 當您稍後在教學課程中設定管線時,您需要提供此值。

到目前為止,您已建立 GitHub 存放庫,並將範本上傳至存放庫。

建立 DevOps 專案

您需要 DevOps 組織,才能繼續進行下一個步驟。 如果您沒有必要條件,請參閱 必要條件

  1. 登入 Azure DevOps

  2. 從左側選取 DevOps 組織,然後選取 [ 新增專案]。 如果您沒有任何專案,則會自動開啟 [建立專案] 頁面。

  3. 輸入下列值:

    為 Azure Resource Manager Azure DevOps Azure Pipelines 建立 Azure DevOps 專案的螢幕快照。

    • 專案名稱:輸入項目名稱。 您可以使用您在教學課程開頭挑選的項目名稱。
    • 可見度:選取 [私人]。

    使用其他屬性的預設值。

  4. 選取 ,創建

建立用來將專案部署至 Azure 的服務連線。

  1. 從左側功能表底部選取 [項目設定 ]。

  2. 管線下選擇服務連線

  3. 選取 [建立服務連線],選取 [Azure Resource Manager],然後選取 [ 下一步]。

  4. 選取 [服務主體][自動],然後選取 [ 下一步]。

  5. 輸入下列值:

    • 範圍層級:選取 [ 訂用帳戶]。
    • 訂用帳戶:選取您的訂用帳戶。
    • 資源群組:將它保留空白。
    • 線上名稱:輸入連線名稱。 例如 ARMPipeline-conn。 請記下此名稱,建立管線時需要名稱。
    • 授與所有管線的訪問許可權。 (已選取)
  6. 選取 [儲存]。

建立管線

到目前為止,您已完成下列工作。 如果您因為熟悉 GitHub 和 DevOps 而略過前幾節,您必須先完成工作,才能繼續。

  • 建立 GitHub 存放庫,並將範本儲存至存放庫中 的 create_web_app 資料夾。
  • 建立 DevOps 專案,並建立 Azure Resource Manager 服務連線。

若要建立具有部署範本步驟的管線:

  1. 從左側選單中選取 [管道]

  2. 選取 [建立準銷售案源]

  3. 從 [ 連線] 索引標籤中,選取 [GitHub]。 如果系統詢問,請輸入您的 GitHub 認證,然後遵循指示。 如果您看到下列畫面,請選取 [僅選取存放庫],然後確認您的存放庫位於清單中,再選取 [ 核准和安裝]。

    選取 Azure Resource Manager Azure DevOps Azure Pipelines 存放庫的螢幕快照。

  4. 從 [ 選取 ] 索引標籤中,選取您的存放庫。 預設名稱為 [YourAccountName]/[YourGitHubRepositoryName]

  5. 從 [ 設定] 索引標籤中,選取 [ 入門管線]。 它會顯示具有兩個腳本步驟 的azure-pipelines.yml 管線檔案。

  6. .yml 檔案中刪除兩個腳本步驟。

  7. 將游標移至步驟之後的行

  8. 選取畫面右側的 [顯示小幫手 ] 以開啟 [ 工作 ] 窗格。

  9. 選取 [ARM 範本部署]。

  10. 輸入下列值:

    • deploymentScope:選取 [資源群組]。 若要深入瞭解範圍,請參閱 部署範圍
    • Azure Resource Manager 連線:選取您稍早建立的服務連線名稱。
    • 訂閱:指定目標訂閱識別碼。
    • 動作:選取 [建立或更新資源群組 ] 動作會執行 2 個動作 - 1。 如果提供新的資源組名,請建立資源群組;2. 部署指定的範本。
    • 資源群組:輸入新的資源群組名稱。 例如 ,ARMPipeline-rg
    • 位置:選取資源群組的位置,例如 美國中部
    • 範本位置:選取 檔案的 URL,這表示工作會使用 URL 來尋找範本檔案。 因為 relativePath 用於主要範本中,且 relativePath 僅支援 URI 型部署,因此您必須在這裡使用 URL。
    • 範本連結:輸入您在 準備 GitHub 存放庫 一節結尾取得的 URL。 其開頭為 https://raw.githubusercontent.com
    • 範本參數連結:將此欄位保留空白。 您會在 覆寫範本參數中指定參數值。
    • 覆寫樣本參數:輸入 -projectName [EnterAProjectName]
    • 部署模式:選取 [累加]。
    • 部署名稱:輸入 DeployPipelineTemplate。 選取 [ 進階 ],才能看到 [部署名稱]。

    ARM 範本部署頁面的螢幕快照,其中已輸入 Azure DevOps Azure Pipelines 的必要值。

  11. 選取 ,然後新增

    如需工作的詳細資訊,請參閱 Azure 資源群組部署工作Azure Resource Manager 範本部署工作

    .yml檔案應該類似:

    新管線的 [檢閱] 頁面螢幕快照,其中新管線的標題是 [審查適用於 Azure DevOps 和 Azure Pipelines 的管線 YAML]。

  12. 選取儲存並執行

  13. 從 [ 儲存並執行 ] 窗格中,選取 [ 儲存並再次執行 ]。 YAML 檔案的複本會儲存至連線的存放庫。 您可以瀏覽至您的存放庫來查看 YAML 檔案。

  14. 確認管線已成功執行。

    Azure Resource Manager Azure DevOps Azure Pipelines YAML 檔案的螢幕快照。

驗證部署

  1. 登入 Azure 入口網站
  2. 開啟資源群組。 名稱是您在管線 YAML 檔案中指定的名稱。 您應該會看到一個記憶體帳戶已建立。 記憶體帳戶名稱會以 存放區開頭。
  3. 選取記憶體帳戶名稱以開啟它。
  4. 選取 屬性。 請注意復寫本地備援儲存 (LRS)

更新和重新部署

當您更新範本並將變更推送至遠端存放庫時,管線會自動更新資源,在此情況下為記憶體帳戶。

  1. 在 Visual Studio Code 或任何文字編輯器中,從本機存放庫開啟 linkedStorageAccount.json

  2. storageAccountTypedefaultValue 更新為 Standard_GRS。 請參閱下列螢幕快照:

    更新 Azure Resource Manager Azure DevOps Azure Pipelines YAML 檔案的螢幕快照。

  3. 儲存變更。

  4. 從 Git Bash/Shell 執行下列命令,將變更推送至遠端存放庫。

    git pull origin main
    git add .
    git commit -m "Update the storage account type."
    git push origin main
    

    第一個命令 (pull) 會將本機存放庫與遠端存放庫同步處理。 管線 YAML 檔案只會新增至遠端存放庫。 執行 命令會將 pull YAML 檔案的復本下載到本機分支。

    第四個命令 (push) 會將修訂 的linkedStorageAccount.json 檔案上傳至遠端存放庫。 當遠端存放庫的主分支更新後,管線會再次觸發。

若要確認變更,您可以檢查記憶體帳戶的 Replication 屬性。 請參閱 確認部署

清理資源

當不再需要 Azure 資源時,請刪除資源群組來清除您部署的資源。

  1. 在 Azure 入口網站中,選取左側功能表中的 [資源群組]
  2. 在 [依名稱篩選] 欄位中輸入資源群組名稱。
  3. 選取資源群組名稱。
  4. 從頂端功能表中選取 [刪除資源群組]

您也可以刪除 GitHub 存放庫和 Azure DevOps 專案。

後續步驟

恭喜您,您已完成此 Resource Manager 範本部署教學課程。 如果您在意見反應區段中有任何意見和建議,請告訴我們。 謝謝! 您已準備好深入了解範本的更進階概念。 下一個教學課程會詳細說明如何使用範本參考文件來協助定義要部署的資源。