使用 Azure Pipelines
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Azure Pipelines 支持持續整合 (CI) 和持續傳遞 (CD),以持續測試、建置及部署您的程式代碼。 您可以藉由定義管線來完成這項作業。
自動化測試、組建和傳遞
持續整合 (CI) 會將專案的測試和組建自動化。 CI 有助於在開發週期早期攔截 Bug 或問題,因為它們更容易且更快速地修正。 稱為成品的專案是從 CI 系統產生。 持續傳遞發行管線會使用這些管線來驅動自動部署。
持續傳遞會在多個階段中自動部署及測試程序代碼,以協助推動品質。 持續整合系統會產生可部署的成品,其中包括基礎結構和應用程式。 自動化發行管線會使用這些成品來發行新版本,並修正您選擇的目標。
持續整合 (CI)。 | 持續傳遞 (CD)。 |
---|---|
- 增加程式代碼涵蓋範圍 - 藉由分割測試和建置執行來加快建置速度 - 自動確保您不會寄送中斷的程序代碼 - 持續執行測試 |
- 自動將程式代碼部署至生產環境 - 確定部署目標有最新的程序代碼 - 使用 CI 程式的已測試程式代碼 |
使用 YAML 語法定義管線
您會在 YAML 檔案中定義管線,該檔案會與應用程式的其餘部分一起呼叫 azure-pipelines.yml
。
- 管線會以您的程式碼進行版本設定。 其遵循相同的分支結構。 您可以透過提取要求和分支建置原則中的程式碼檢閱來驗證變更。
- 您可以使用的每個分支都可以修改檔案來修改
azure-pipelines.yml
管線。 深入瞭解 YAML 管線的分支考慮。 - 變更組建程序可能導致中斷,或產生非預期的結果。 因為變更是以程式碼基底的其餘部分進行版本控制,所以您可以更輕鬆地識別問題。
請遵循下列基本步驟:
- 設定 Azure Pipelines 以使用您的 Git 存放庫。
- 編輯檔案
azure-pipelines.yml
以定義組建。 - 將程式碼推送至版本控制存放庫。 此動作會啟動預設觸發程序來建置及部署,然後監視結果。
您的程式碼現已更新、建置、測試及封裝。 您可以將其部署到任何目標。
使用傳統介面定義管線
使用傳統使用者介面編輯器,在 Azure DevOps 入口網站中建立和設定管線。 您會定義「組建管線」來建置並測試程式碼,然後發佈成品。 您也會定義「發行管線」,以取用那些成品並部署到部署目標。
請遵循下列基本步驟:
- 設定 Azure Pipelines 以使用您的 Git 存放庫。
- 使用 Azure Pipelines 傳統編輯器來建立和設定您的組建和發行管線。
- 將程式碼推送至版本控制存放庫。 此動作會觸發管線並執行工作,例如建置或測試程式碼。
組建會建立成品,供管線的其餘部分用來執行工作,例如部署至預備或生產環境。
您的程式碼現已更新、建置、測試及封裝。 您可以將其部署到任何目標。
功能可用性
只有在使用 YAML 或使用傳統介面定義組建或發行管線時,才能使用特定管線功能。 下表指出支援哪些功能,以及哪些工作和方法。
功能 | YAML | 傳統組建 | 傳統發行版本 | 備註 |
---|---|---|---|---|
代理 | ✅ | ✅ | ✅ | 指定管線執行所在位置的必要資源。 |
核准 | ✅ | ❌ | ✅ | 定義完成部署階段之前所需的一組驗證。 |
工件 | ✅ | ✅ | ✅ | 支援發佈或取用不同的套件類型。 |
快取 | ✅ | ✅ | ❌ | 允許一次執行中的輸出或下載的相依性在後續執行中重複使用,以減少建置時間。 在預覽版中,僅適用於 Azure Pipelines。 |
條件 | ✅ | ✅ | ✅ | 指定要在執行作業之前符合的條件。 |
容器作業 | ✅ | ❌ | ❌ | 指定要在容器中執行的作業。 |
要求 | ✅ | ✅ | ✅ | 在執行管線階段之前,請確定符合管線需求。 需要自我裝載式代理程式。 |
相依性 | ✅ | ✅ | ✅ | 指定必須符合才能執行下一個作業或階段的需求。 |
部署群組 | ❌ | ❌ | ✅ | 定義一組邏輯部署目標機器。 |
部署群組作業 | ❌ | ❌ | ✅ | 指定要發行至部署群組的作業。 |
部署工作 | ✅ | ❌ | ❌ | 定義部署步驟。 |
環境 | ✅ | ❌ | ❌ | 表示以部署為目標的資源集合。 僅適用於 Azure Pipelines。 |
蓋茨 | ❌ | ❌ | ✅ | 支援在完成發行階段之前自動收集及評估外部健康情況訊號。 僅適用於傳統版本。 |
工作 | ✅ | ✅ | ✅ | 定義一組步驟的執行順序。 |
服務連線 | ✅ | ✅ | ✅ | 啟用與遠端服務 (執行作業中工作所需) 的連線。 |
服務容器 | ✅ | ❌ | ❌ | 可讓您管理容器化服務的生命週期。 |
階段 | ✅ | ❌ | ✅ | 組織管線內的作業。 |
工作組 | ❌ | ✅ | ✅ | 將一系列工作封裝成單一可重複使用的工作。 如果使用 YAML,請參閱範本。 |
工作 | ✅ | ✅ | ✅ | 定義構成管線的建置組塊。 |
範本 | ✅ | ❌ | ❌ | 定義可重複使用的內容、邏輯和參數。 |
觸發程序 | ✅ | ✅ | ✅ | 定義導致管線執行的事件。 |
變數 | ✅ | ✅ | ✅ | 表示會由要傳遞至管線的資料所取代的值。 |
變數群組 | ✅ | ✅ | ✅ | 用來儲存您想要控制的值,並在多個管線之間提供使用。 |
下一步
相關文章
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應