Azure DevOps Services
本文提供組成 Azure Pipelines 的重要概念和元件。 瞭解管線的基本詞彙和部分,可協助您更有效地建置、測試及部署程序代碼。
重要概念概觀
下圖顯示管線的主要元件和動作。
戴夫·賈維斯為這個圖形做出了貢獻。
- 手動、排程或自動化的觸發會啟動管道。
- 管線可以包含一或多個階段,並部署到一或多個環境。
- 階段 是組織管線的方法,每個階段都包含一或多個 作業。
- 在代理程式上執行的作業,或可以是無代理程式。
- 每個 作業 都包含一或多個 步驟。
- 步驟是管線中最小的元素,可以是工作或腳本。
- 工作 是預先封裝的腳本,可執行動作,例如叫用 REST API 或發佈組建成品。
- 管線 執行 會產生 成品, 例如檔案或套件。
Azure Pipelines 詞彙
下列詞彙會定義重要的 Azure Pipelines 元件和程式。
代理人
一個代理是計算基礎設施,其中安裝了的代理軟體一次僅運行一個管道作業。 例如,作業可以在裝載Microsoft的Ubuntu代理程式上執行。 如需不同類型的代理程式及其使用方式的詳細資訊,請參閱 Azure Pipelines 代理程式。
執行的工作步驟數目有限,而不需使用代理程式。 如需詳細資訊,請參閱 無代理程式作業支援的工作。
核准和檢查
核准和檢查 會定義管線或階段執行之前所需的一組驗證。 手動核准是控制生產環境部署的常見檢查。 如果環境已設定檢查和核准,管線會暫停,直到所有檢查和核准都順利完成為止。
Artifacts
工件是執行程序發布的檔案或套件集合,並且可供後續管線任務使用,例如散發或部署。 Azure Pipelines 中的成品與 Azure Artifacts 不同,這是 Azure DevOps 的一部分,可讓您使用單一摘要來儲存、管理及共用套件。
持續交付
持續交付(CD)是將代碼建置、測試並部署到一個或多個測試和生產環境的過程。 在多個 階段 部署和測試,可透過早期且經常攔截錯誤來協助推動品質。
自動化 CD 發行管線可以從持續整合 (CI) 管線取用成品,以發行新版本和修正程式。 持續監視和警示可提供CD流程的可見度。
持續整合
持續整合(CI)是一個過程,會依排程在推送程式碼時或其他情況下執行自動化測試及建立構建。 CI 可簡化測試和建置程式代碼,並協助在開發週期的早期更輕鬆且更快速地修正問題。 CI 管線會產生產出物,CD 管線可用於自動部署。
部署
針對 YAML 管線,部署作業是針對環境循序執行的步驟集合。 部署工作可以使用runOnce、rolling和canary等策略。 如需詳細資訊,請參閱 部署作業。
在經典管道中,部署會執行部署階段的工作,其中包括執行自動化測試、部署建置成品和其他指定的動作。
部署群組
在 Azure Pipelines 傳統發行管線中, 部署群組 是部署目標計算機的邏輯群組。 部署群組中的每個目標伺服器都需要安裝部署代理程式。 如需詳細資訊,請參閱 為部署群組配置代理程式。
環境
環境是一組資源,例如您部署應用程式的虛擬機、容器、Web 應用程式或服務。 完成組建和執行測試之後,管線可以部署到一或多個環境。
工作
作業代表在相同 代理程式上循序執行之一組步驟的執行界限。 管線 階段 可以包含一或多個作業。 根據預設,作業不一定會依序在階段中執行。
任務適合在不同環境中執行一系列步驟。 例如,您的建置階段可能包含一個用於建置組態的 x86 作業,另一個用於建置組態的 x64 作業。
每個作業都會在執行該作業中所有步驟的代理程式上執行。 有限數量的工作步驟支持無代理程式執行的任務。 如需詳細資訊,請參閱 無代理程式作業支援的工作。
圖書館
Azure Pipelines 連結庫 包含 安全的檔案 和 變數群組。 安全檔案 是儲存檔案並跨管線共用的方法。 變數群組 會儲存您可以傳入 YAML 管線的值和機密,或讓其在多個管線中可用。
Pipelines
Azure Pipelines 管線會定義建置、測試和部署工作的工作流程,從執行批處理檔到自動化應用程式的 CI/CD 程式。 管線是由包含作業和步驟的一或多個階段所組成。
您可以使用 YAML 型 或 傳統 編輯器來定義管線。 如需詳細資訊,請參閱 YAML 與傳統管線。
發佈
發行是傳統管線中指定的版本化成品集。 此版本包含執行發行管線所需的所有資訊的快照集,例如階段、工作、觸發程式、核准原則和部署選項。 您可以手動建立發行,也可以使用部署觸發程式或 REST API 來建立。
在 YAML 管線中,組建和發行階段全都包含在 多階段管線定義中。
執行
一次執行代表管線的一次運行。 在執行期間,Azure Pipelines 會先處理管線,然後將執行傳送至一或多個代理程式來執行作業。 執行過程會收集執行步驟的記錄以及測試的執行結果。 如需更多資訊,請參閱 管線執行紀錄。
劇本
腳本會在管線中執行命令列、PowerShell 或 Bash 程式碼作為步驟。 您可以撰寫適用於 macOS、Linux 和 Windows 的跨平台腳本
階段
階段是管線中的邏輯界限,可標示關注點分離,例如建置、測試和生產。 每個階段都包含一或多個作業。 根據預設,管道中的多個階段會逐一執行。 您可以指定階段執行時的其他條件。
在以下情況中設定管線階段是有用的:
- 個別群組會管理管線的不同部分。 例如,如果不同的管理員管理測試和部署作業,則擁有不同的測試和生產階段是合理的。
- 一組 核准 會連結到特定作業或一組作業。 您可以將這些作業放入個別階段以供核准。
- 管線具有需要長時間執行的作業。 您可以將這類工作置於各自的流程階段。
步驟
步驟是流程最小的元件。 根據預設,步驟會在 作業中逐一執行。 步驟可以是 腳本 或 工作。
任務
工作是預先封裝的腳本或程式,抽象化並包含一組輸入,用來定義管線中的自動化。 如需可用的工作,請參閱 Azure Pipelines 工作參考。 如需建立自定義工作的資訊,請參閱 新增自定義管線工作延伸模組。
觸發器
觸發器是導致管線運行的事件。 您可以手動觸發管線,或以設定排程執行。 您也可以觸發管線,在推送至存放庫、完成另一個建置時或其他狀況下自動執行。 如需詳細資訊,請參閱 指定用於觸發管線的事件 和 經典發行觸發器。