使用 Azure Pipelines

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure Pipelines 支持持續整合 (CI) 和持續傳遞 (CD),以持續測試、建置及部署您的程式代碼。 您可以藉由定義管線來完成這項作業。

建置管線的最新方式是使用 YAML管線編輯器。 您也可以搭配傳統編輯器使用傳統管線

自動化測試、組建和傳遞

持續整合 (CI) 會將專案的測試和組建自動化。 CI 有助於在開發週期早期攔截 Bug 或問題,因為它們更容易且更快速地修正。 稱為成品的專案是從 CI 系統產生。 持續傳遞發行管線會使用這些管線來驅動自動部署。

持續傳遞會在多個階段中自動部署及測試程序代碼,以協助推動品質。 持續整合系統會產生可部署的成品,其中包括基礎結構和應用程式。 自動化發行管線會使用這些成品來發行新版本,並修正您選擇的目標。

持續整合 (CI)。 持續傳遞 (CD)。
- 增加程式代碼涵蓋範圍
- 藉由分割測試和建置執行來加快建置速度
- 自動確保您不會寄送中斷的程序代碼
- 持續執行測試
- 自動將程式代碼部署至生產環境
- 確定部署目標有最新的程序代碼
- 使用 CI 程式的已測試程式代碼

使用 YAML 語法定義管線

您會在 YAML 檔案中定義管線,該檔案會與應用程式的其餘部分一起呼叫 azure-pipelines.yml

管線 YAML 簡介映射

  • 管線會以您的程式碼進行版本設定。 其遵循相同的分支結構。 您可以透過提取要求和分支建置原則中的程式碼檢閱來驗證變更。
  • 您可以使用的每個分支都可以修改檔案來修改 azure-pipelines.yml 管線。 深入瞭解 YAML 管線的分支考慮。
  • 變更組建程序可能導致中斷,或產生非預期的結果。 因為變更是以程式碼基底的其餘部分進行版本控制,所以您可以更輕鬆地識別問題。

請遵循下列基本步驟:

  1. 設定 Azure Pipelines 以使用您的 Git 存放庫。
  2. 編輯檔案 azure-pipelines.yml 以定義組建。
  3. 將程式碼推送至版本控制存放庫。 此動作會啟動預設觸發程序來建置及部署,然後監視結果。

您的程式碼現已更新、建置、測試及封裝。 您可以將其部署到任何目標。

使用傳統介面定義管線

使用傳統使用者介面編輯器,在 Azure DevOps 入口網站中建立和設定管線。 您會定義「組建管線」來建置並測試程式碼,然後發佈成品。 您也會定義「發行管線」,以取用那些成品並部署到部署目標。

管線設計工具簡介映像

請遵循下列基本步驟:

  1. 設定 Azure Pipelines 以使用您的 Git 存放庫。
  2. 使用 Azure Pipelines 傳統編輯器來建立和設定您的組建和發行管線。
  3. 將程式碼推送至版本控制存放庫。 此動作會觸發管線並執行工作,例如建置或測試程式碼。

組建會建立成品,供管線的其餘部分用來執行工作,例如部署至預備或生產環境。

您的程式碼現已更新、建置、測試及封裝。 您可以將其部署到任何目標。

功能可用性

只有在使用 YAML 或使用傳統介面定義組建或發行管線時,才能使用特定管線功能。 下表指出支援哪些功能,以及哪些工作和方法。

功能 YAML 傳統組建 傳統發行版本 備註
代理 指定管線執行所在位置的必要資源。
核准 定義完成部署階段之前所需的一組驗證。
工件 支援發佈或取用不同的套件類型。
快取 允許一次執行中的輸出或下載的相依性在後續執行中重複使用,以減少建置時間。 在預覽版中,僅適用於 Azure Pipelines。
條件 指定要在執行作業之前符合的條件。
容器作業 指定要在容器中執行的作業。
要求 在執行管線階段之前,請確定符合管線需求。 需要自我裝載式代理程式。
相依性 指定必須符合才能執行下一個作業或階段的需求。
部署群組 定義一組邏輯部署目標機器。
部署群組作業 指定要發行至部署群組的作業。
部署工作 定義部署步驟。
環境 表示以部署為目標的資源集合。 僅適用於 Azure Pipelines。
蓋茨 支援在完成發行階段之前自動收集及評估外部健康情況訊號。 僅適用於傳統版本。
工作 定義一組步驟的執行順序。
服務連線 啟用與遠端服務 (執行作業中工作所需) 的連線。
服務容器 可讓您管理容器化服務的生命週期。
階段 組織管線內的作業。
工作組 將一系列工作封裝成單一可重複使用的工作。 如果使用 YAML,請參閱範本。
工作 定義構成管線的建置組塊。
範本 定義可重複使用的內容、邏輯和參數。
觸發程序 定義導致管線執行的事件。
變數 表示會由要傳遞至管線的資料所取代的值。
變數群組 用來儲存您想要控制的值,並在多個管線之間提供使用。

下一步