YAML 與傳統管線
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Azure Pipelines 可讓開發人員自動化各種不同的工作,從執行批處理檔到為其應用程式設定完整的持續整合 (CI) 和持續傳遞 (CD) 解決方案。
Azure Pipelines 支援各種不同的語言、平臺和工具,並提供兩種類型的管線可供選擇: YAML 型 和 傳統管線 編輯器。
注意
如果您不熟悉 Azure Pipelines,建議您從 YAML 管線開始。 針對現有的傳統管線,您可以選擇繼續使用它們或 移轉至 YAML 管線。
使用 YAML 定義管線
您的管線組態位於名為 azure-pipelines.yml
的 YAML 檔案中,以及您的應用程式。
YAML 檔案會與您的應用程式程式碼一起建立版本,並遵循相同的分支結構。
每個分支都可以編輯
azure-pipelines.yml
檔案來自定義管線。將管線組態保留在版本控制中,可確保任何造成問題或非預期結果的變更都可以在程式代碼基底內輕鬆識別。
如需指示,請參閱 建立您的第一個管線 ,以取得從 Git 存放庫建置範例應用程式的逐步指南。
使用傳統介面定義管線
傳統管線是使用傳統使用者介面編輯器在 Azure DevOps 入口網站中建立的。 您可以定義 管線 來建置、測試程式代碼,然後發佈成品(二進位檔)。 此外,您可以定義 發行管線 來取用您的二進位檔(成品),並將其部署至特定目標。
傳統管線是使用傳統使用者介面編輯器在 Azure DevOps 入口網站中建立的。 您可以定義 建置管線 來建置、測試程式代碼,然後發佈成品 (二進位檔)。 此外,您可以定義 發行管線 來取用您的二進位檔(成品),並將其部署至特定目標。
如需指示,請參閱 建 置和 部署 ,以取得使用傳統管線建置和部署應用程式的逐步指南。
功能可用性
功能 | 描述 | YAML | 傳統管線 | 傳統發行版本 |
---|---|---|---|---|
代理程式 | 在虛擬機或實體機器上執行的軟體元件,負責執行 Azure Pipelines 中定義的工作。 | 醫生 | 醫生 | 醫生 |
核准 | 藉由要求指定的核准者在部署至階段之前核准,以控制您的部署工作流程。 | 醫生 | 醫生 | |
成品 | 將二進位檔和各種類型的套件下載併發佈至不同的目的地。 | 醫生 | 醫生 | 醫生 |
快取 | 藉由快取和重複使用先前執行的相依性來減少建置時間。 | 醫生 | 醫生 | |
條件 | 指定步驟、作業或階段應該執行的條件。 | 醫生 | 醫生 | 醫生 |
容器作業 | 指定要在容器中執行的作業。 | 醫生 | ||
要求 | 請確定管線所需的功能存在於執行中的代理程式上。 | 醫生 | 醫生 | 醫生 |
相依性 | 指定必須符合才能執行下一個階段的需求。 | 醫生 | 醫生 | |
部署群組和環境 | 部署群組(傳統):定義一組目標機器,每個機器都配備部署代理程式。 環境 (YAML):以部署為目標的資源集合。 |
醫生 | 醫生 | |
部署工作 | 針對環境循序執行的部署步驟集合。 | 醫生 | ||
蓋茨 | 在完成部署之前,先評估外部服務的健康情況訊號,以自動化發行控制。 | 醫生 | ||
工作 | 一系列循序步驟,形成可排程執行之最小工作單位。 | 醫生 | 醫生 | 醫生 |
程式庫 | 可在 Azure Pipelines 中使用的資產集合。 連結庫包含兩種類型的資產: 變數群組 和安全 檔案。 | 醫生 | 醫生 | 醫生 |
服務連線 | 啟用與在作業中執行工作所需的外部服務連線。 | 醫生 | 醫生 | 醫生 |
服務容器 | 可讓您管理容器化服務的生命週期。 最常與容器作業搭配使用。 | 醫生 | ||
階段 | 組織管線內的作業。 | 醫生 | 醫生 | |
工作組 | 將工作序列封裝成單一可重複使用的工作。 | 醫生 | 醫生 | |
工作 | 定義構成管線作業之步驟的建置組塊。 | 醫生 | 醫生 | 醫生 |
範本 | 定義可重複使用的內容、邏輯和參數。 | 醫生 | ||
觸發程序 | 定義導致管線執行的事件。 | 醫生 | 醫生 | 醫生 |
變數 | 可在管線執行期間使用之值的佔位元。 | 醫生 | 醫生 | 醫生 |
變數群組 | 用來儲存您想要跨多個管線管理和共用的值和秘密。 | 醫生 | 醫生 | 醫生 |
功能 | 描述 | YAML | 傳統管線 | 傳統發行版本 |
---|---|---|---|---|
代理程式 | 在虛擬機或實體機器上執行的軟體元件,負責執行 Azure Pipelines 中定義的工作。 | 醫生 | 醫生 | 醫生 |
核准 | 藉由要求指定的核准者在部署至階段之前核准,以控制您的部署工作流程。 | 醫生 | 醫生 | |
成品 | 將二進位檔和各種類型的套件下載併發佈至不同的目的地。 | 醫生 | 醫生 | 醫生 |
條件 | 指定步驟、作業或階段應該執行的條件。 | 醫生 | 醫生 | 醫生 |
容器作業 | 指定要在容器中執行的作業。 | 醫生 | ||
要求 | 請確定管線所需的功能存在於執行中的代理程式上。 | 醫生 | 醫生 | 醫生 |
相依性 | 指定必須符合才能執行下一個階段的需求。 | 醫生 | 醫生 | |
部署群組和環境 | 部署群組(傳統):定義一組目標機器,每個機器都配備部署代理程式。 環境 (YAML):以部署為目標的資源集合。 |
醫生 | 醫生 | |
部署工作 | 針對環境循序執行的部署步驟集合。 | 醫生 | ||
蓋茨 | 在完成部署之前,先評估外部服務的健康情況訊號,以自動化發行控制。 | 醫生 | ||
工作 | 一系列循序步驟,形成可排程執行之最小工作單位。 | 醫生 | 醫生 | 醫生 |
程式庫 | 可在 Azure Pipelines 中使用的資產集合。 連結庫包含兩種類型的資產: 變數群組 和安全 檔案。 | 醫生 | 醫生 | 醫生 |
服務連線 | 啟用與在作業中執行工作所需的外部服務連線。 | 醫生 | 醫生 | 醫生 |
階段 | 組織管線內的作業。 | 醫生 | 醫生 | |
工作組 | 將工作序列封裝成單一可重複使用的工作。 | 醫生 | 醫生 | |
工作 | 定義構成管線作業之步驟的建置組塊。 | 醫生 | 醫生 | 醫生 |
範本 | 定義可重複使用的內容、邏輯和參數。 | 醫生 | ||
觸發程序 | 定義導致管線執行的事件。 | 醫生 | 醫生 | 醫生 |
變數 | 可在管線執行期間使用之值的佔位元。 | 醫生 | 醫生 | 醫生 |
變數群組 | 用來儲存您想要跨多個管線管理和共用的值和秘密。 | 醫生 | 醫生 | 醫生 |
功能 | 描述 | YAML | 傳統管線 | 傳統發行版本 |
---|---|---|---|---|
代理程式 | 在虛擬機或實體機器上執行的軟體元件,負責執行 Azure Pipelines 中定義的工作。 | 醫生 | 醫生 | 醫生 |
核准 | 藉由要求指定的核准者在部署至階段之前核准,以控制您的部署工作流程。 | 醫生 | 醫生 | |
成品 | 將二進位檔和各種類型的套件下載併發佈至不同的目的地。 | 醫生 | 醫生 | 醫生 |
條件 | 指定步驟、作業或階段應該執行的條件。 | 醫生 | 醫生 | 醫生 |
容器作業 | 指定要在容器中執行的作業。 | 醫生 | ||
要求 | 請確定管線所需的功能存在於執行中的代理程式上。 | 醫生 | 醫生 | 醫生 |
相依性 | 指定必須符合才能執行下一個階段的需求。 | 醫生 | 醫生 | |
部署群組 | 定義一組配備部署代理程式的目標機器。 | 醫生 | ||
部署工作 | 針對環境循序執行的部署步驟集合。 | 醫生 | ||
蓋茨 | 在完成部署之前,先評估外部服務的健康情況訊號,以自動化發行控制。 | 醫生 | ||
工作 | 一系列循序步驟,形成可排程執行之最小工作單位。 | 醫生 | 醫生 | 醫生 |
程式庫 | 可在 Azure Pipelines 中使用的資產集合。 連結庫包含兩種類型的資產: 變數群組 和安全 檔案。 | 醫生 | 醫生 | 醫生 |
服務連線 | 啟用與在作業中執行工作所需的外部服務連線。 | 醫生 | 醫生 | 醫生 |
階段 | 組織管線內的作業。 | 醫生 | 醫生 | |
工作組 | 將工作序列封裝成單一可重複使用的工作。 | 醫生 | 醫生 | |
工作 | 定義構成管線作業之步驟的建置組塊。 | 醫生 | 醫生 | 醫生 |
範本 | 定義可重複使用的內容、邏輯和參數。 | 醫生 | ||
觸發程序 | 定義導致管線執行的事件。 | 醫生 | 醫生 | 醫生 |
變數 | 可在管線執行期間使用之值的佔位元。 | 醫生 | 醫生 | 醫生 |
變數群組 | 用來儲存您想要跨多個管線管理和共用的值和秘密。 | 醫生 | 醫生 | 醫生 |