文章

配置與管理 Azure DevOps Pipeline

配置與管理 Azure DevOps Pipelines 是建立持續整合 (CI) 和持續部署 (CD) 流程的關鍵。Azure Pipelines 支援自動化構建、測試和部署的整個過程,並且可以與多種語言和平台相容。以下是如何配置和管理 Azure DevOps Pipelines 的詳細步驟:

1. 設置 Azure DevOps 專案

  1. 登錄 Azure DevOps
  2. 創建新的組織和專案
    • 如果尚未創建組織和專案,您可以在 Azure DevOps 中創建一個新的組織和專案。
    • 點擊「New project」以創建新的專案,並為專案命名。

2. 設置源代碼儲存庫

  1. 配置代碼儲存庫
    • Azure Repos:如果您使用 Azure Repos,將您的代碼推送到專案中的 Git 儲存庫。
    • GitHub:如果您使用 GitHub,將您的代碼推送到 GitHub 儲存庫,並在 Azure DevOps 中連接到該儲存庫。
  2. 連接到儲存庫
    • 在 Azure DevOps 中,導航到「Repos」以確保代碼儲存庫正確連接。

3. 創建和配置 Azure Pipeline

建立構建管道 (Build Pipeline)

  1. 創建新的構建管道
    • 在 Azure DevOps 專案中,導航到「Pipelines」。
    • 點擊「New pipeline」以創建新的構建管道。
  2. 選擇儲存庫
    • 選擇您的代碼儲存庫來源,例如 Azure Repos Git 或 GitHub。
  3. 選擇構建模板
    • 您可以選擇使用預設模板或手動配置 YAML 文件來定義構建過程。
    • 選擇「Starter pipeline」或「YAML」來開始配置 YAML 文件。
  4. 編輯 YAML 文件
    • 編輯 YAML 文件以定義構建過程。以下是一個簡單的 .NET 應用程序的 YAML 配置文件示例: ```yaml trigger:
      • main

      pool: vmImage: ‘ubuntu-latest’

      steps:

      • task: UseDotNet@2 inputs: packageType: ‘sdk’ version: ‘5.x’

      • task: DotNetCoreCLI@2 inputs: command: ‘restore’

      • task: DotNetCoreCLI@2 inputs: command: ‘build’

      • task: DotNetCoreCLI@2 inputs: command: ‘test’ ```

  5. 保存並執行
    • 保存 YAML 文件後,點擊「Run」以執行構建管道並檢查構建結果。

建立發布管道 (Release Pipeline)

  1. 創建新的發布管道
    • 在 Azure DevOps 專案中,導航到「Pipelines」>「Releases」。
    • 點擊「New pipeline」以創建新的發布管道。
  2. 添加階段
    • 添加新的階段並選擇部署到目標環境(例如 Azure Web Apps、虛擬機器、Kubernetes 叢集)。
  3. 配置部署任務
    • 設定每個階段的部署任務。例如,將應用程序部署到 Azure Web Apps,您可以使用「Azure App Service Deploy」任務。
  4. 設置變數
    • 配置管道變數以存儲環境特定的設定,如應用程序的連接字串或 API 金鑰。
  5. 配置自動化部署
    • 設置觸發器來自動化部署過程,例如當構建成功後自動觸發部署。
  6. 保存並執行
    • 保存發布管道配置並執行部署流程,檢查部署結果。

4. 管理和維護 Pipelines

  1. 檢查和分析構建和發布結果
    • 使用 Azure DevOps 提供的報告和日誌功能來分析構建和部署結果,確保流程正常運行。
  2. 設定通知
    • 配置通知以便在構建或部署失敗時,相關人員能夠及時獲知。
  3. 管理權限和安全性
    • 使用 Azure DevOps 的角色型存取控制 (RBAC) 來管理使用者和群組的權限。
    • 確保秘密和敏感資訊安全地儲存在 Azure Key Vault 或 Azure DevOps 的安全變數中。
  4. 優化和調整
    • 定期檢查和優化您的 CI/CD 流程。根據實際需求調整構建和部署流程,以提高效率。
  5. 版本控制
    • 維護和管理不同版本的 YAML 配置文件,確保能夠回滾到先前版本或進行版本比較。

5. 整合其他 Azure 服務

  1. Azure Key Vault
    • 將敏感資訊(如 API 金鑰和憑證)存儲在 Azure Key Vault 中,並在管道中安全地引用這些資訊。
  2. Azure Monitor
    • 配置 Azure Monitor 以監控應用程序和基礎設施的性能,收集日誌和警報。
  3. Azure DevTest Labs
    • 使用 Azure DevTest Labs 來創建測試環境和資源,並在 CI/CD 流程中集成這些環境。

總結

配置和管理 Azure DevOps Pipelines 涉及從創建構建和發布管道,到管理和優化整個 CI/CD 流程。通過設置持續整合和持續部署流程,您可以自動化構建、測試和部署操作,提高開發效率並縮短交付周期。利用 Azure DevOps 的強大功能和最佳實踐,您可以實現更高效、更可靠的軟體交付流程。

本文章以 CC BY 4.0 授權