建立您的第一個管線
Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019 |TFS 2018
這是使用 Azure Pipelines 建置範例應用程式的逐步指南。 本指南使用使用 YAML 管線編輯器設定的 YAML 管線。 如果您想要改用傳統 管線,請參閱定義您的傳統管線。
必要條件 - Azure DevOps
請確定您具有下列項目:
您可以在其中建立存放庫的 GitHub 帳戶。 建立免費帳戶。
Azure DevOps 組織。 建立免費帳戶。 如果您的小組已有存放庫,則請確定您是要使用的 Azure DevOps 專案的管理員。
能夠在 Microsoft 裝載的代理程式上執行管線。 若要使用 Microsoft 裝載的代理程式,您的 Azure DevOps 組織必須能夠存取 Microsoft 裝載的平行作業。 您可以購買 平行作業 ,也可以 要求免費授與。
建立您的第一個管線
取得 JAVA 範例程式碼
若要開始使用,請將下列存放庫分支至您的 GitHub 帳戶。
https://github.com/MicrosoftDocs/pipelines-java
建立您的第一個 JAVA 管線
登入您的 Azure DevOps 組織並移至您的專案。
前往 [管線],然後選取 [新增管線]。
執行精靈的步驟,首先選取 [GitHub] 作為您的原始程式碼位置。
系統可能會將您重新導向至 GitHub 以進行登入。 若是如此,請輸入您的 GitHub 認證。
當您看到存放庫清單時,請選取您的存放庫。
系統可能會將您重新導向至 GitHub 以安裝 Azure Pipelines 應用程式。 如果發生此情況,請選取 [核准] & [安裝]。
Azure Pipelines 會分析您的存放庫,並建議 Maven 管線範本。
在新的管線出現時,請查看 YAML 以了解其用途。 當您準備好時,請選取 [儲存並執行]。
系統會提示您將新
azure-pipelines.yml
檔案認可至存放庫。 當您滿意訊息之後,請選取 [ 儲存],然後再次執行 。如果您想要watch管線運作中,請選取建置作業。
您剛建立並執行我們為您自動建立的管線,因為您的程式碼似乎與 Maven 範本相符。
您現在已在存放庫中 () 運作中的 YAML 管線
azure-pipelines.yml
,可供您自訂!當您準備好變更管線時,請在 [ 管線 ] 頁面中選取它,然後 編輯 檔案
azure-pipelines.yml
。
深入瞭解如何在管線 中使用 JAVA 。
檢視和管理您的管線
您可以從左側功能表中選擇 [ 管線 ] 來檢視和管理管線,以移至管線登陸頁面。
您可以從管線登陸頁面檢視管線和管線執行、建立和匯入管線、管理安全性,以及向下切入管線並執行詳細資料。
選擇 [最近] 以檢視最近執行的管線 (預設檢視) ,或選擇 [全部 ] 來檢視所有管線。
選取管線來管理該管線並 檢視執行。 選取上次執行的組建編號以檢視該組建的結果、選取分支名稱以檢視該執行的分支,或選取操作功能表來執行管線並執行其他管理動作。
選取 [ 執行 ] 以檢視所有管線執行。 您可以選擇性地篩選顯示的回合。
選取管線執行以檢視該執行的相關資訊。
您可以選擇從操作功能表保留或刪除執行。 如需執行保留的詳細資訊,請參閱 建置和發行保留原則。
檢視管線詳細資料
管線的詳細資料頁面可讓您檢視和管理該管線。
選擇 [編輯] 以編輯您的管線。 如需詳細資訊,請參閱 YAML 管線編輯器。
檢視管線執行詳細資料
從管線執行摘要中,您可以檢視執行狀態,同時正在執行以及完成時。
您可以從摘要窗格中檢視作業和階段詳細資料、下載成品,並流覽至連結的認可、測試結果和工作專案。
作業和階段
[作業] 窗格會顯示階段和作業狀態的概觀。 此窗格可能會有多個索引標籤,視您的管線是否具有階段和作業,或只是作業而定。 在此範例中,管線有兩個階段,名為 Build 和 Deploy。 您可以從 [ 階段 ] 或 [ 作業 ] 窗格選擇作業,以向下切入至管線步驟。
選擇作業以查看該作業的步驟。
從步驟檢視中,您可以檢閱每個步驟的狀態和詳細資料。 您可以從[更多] 動作 切換時間戳記,或檢視管線中所有步驟的原始記錄檔。
取消並重新執行管線
如果管線正在執行,您可以選擇 [ 取消] 來取消它。 如果執行已完成,您可以選擇 [ 執行新的],以重新執行管線。
管線執行更多動作功能表
您可以從 [更多動作 ] 功能表下載記錄、新增標籤、編輯管線、刪除執行,以及設定執行保留期。
注意
如果保留執行,便無法刪除執行。 如果您沒有看到 [刪除],請選擇 [停止保留執行],然後刪除執行。 如果您同時看到 [刪除] 和 [檢視保留版本],則表示仍有一或多個已設定的保留原則套用至您的執行。 選擇 [檢視保留版本]、刪除原則 (只會移除所選執行的原則),然後刪除執行。
將狀態徽章新增至您的存放庫
許多開發人員都喜歡顯示他們在存放庫中的狀態徽章,以顯示他們維持極高的程式碼品質。
若要將狀態徽章複製到剪貼簿:
在 Azure Pipelines 中,移至 [管線] 頁面以檢視管線清單。 選取您在上一節中建立的管線。
選取
,然後選取 [狀態徽章]。
選取 [狀態徽章]。
從範例 Markdown 區段複製範例 Markdown。
現在,在剪貼簿中使用徽章 Markdown,請在 GitHub 中採取下列步驟:
移至檔案清單,然後選取
Readme.md
。 選取要編輯的鉛筆圖示。將狀態徽章 Markdown 貼到檔案開頭。
將變更認可至
main
分支。請注意,狀態徽章會出現在存放庫的描述中。
若要為私人專案設定徽章的匿名存取:
流覽至 [專案設定]
開啟 [管線] 底下的 [設定] 索引標籤
在 [一般] 下切換 [停用匿名存取徽章]滑杆
注意
即使在私人專案中,預設也會啟用匿名徽章存取。 啟用匿名徽章存取後,組織外部的使用者可能可以透過徽章狀態 API 查詢資訊,例如專案名稱、分支名稱、作業名稱,以及建置狀態。
因為您剛變更此存放庫中的 Readme.md
檔案,所以 Azure Pipelines 會根據存放庫根目錄中檔案 azure-pipelines.yml
中的組態自動建置您的程式碼。 回到 Azure Pipelines,觀察新的執行隨即出現。 每次進行編輯時,Azure Pipelines 都會啟動新的執行。
注意
在 Microsoft Team Foundation Server (TFS) 2018 和舊版中,組建和發行管線稱為定義、執行稱為組建、服務連線稱為服務端點、階段稱為環境,而作業稱為階段。
我們將示範如何使用 Azure DevOps Server 2019 中的傳統編輯器來建立可列印 「Hello world」 的組建和發行。
我們將示範如何使用 TFS 中的傳統編輯器來建立組建,以及列印 「Hello world」 的版本。
移至[Azure Repos]。 (上一個導覽) 中的 程式碼 中樞
如果您的專案是空的,您將會看到畫面,以協助您將程式碼新增至存放庫。 選擇底部選項,以使用
readme
檔案初始化存放庫:
按一下頂端導覽中的 [ 程式碼 ],流覽至您的存放庫。
如果您的專案是空的,您將會看到畫面,以協助您將程式碼新增至存放庫。 選擇底部選項,以使用
readme
檔案初始化存放庫:
移至[Azure Repos]。
新增檔案。
在對話方塊中,為您的新檔案命名並加以建立。
HelloWorld.ps1
複製並貼上此腳本。
Write-Host "Hello world"
認可 (儲存檔案) 。
移至程式 代碼 中樞。
新增檔案。
在對話方塊中,為您的新檔案命名並加以建立。
HelloWorld.ps1
複製並貼上此腳本。
Write-Host "Hello world"
認可 (儲存檔案) 。
在本教學課程中,我們的重點在於 CI/CD,因此我們會讓程式碼部分保持簡單。 我們正在直接在網頁瀏覽器中Azure Repos Git 存放庫。
當您準備好開始建置和部署實際應用程式時,您可以使用各種版本控制用戶端和服務搭配 Azure Pipelines CI 組建。 深入了解。
建立組建管線
建立列印 「Hello world」 的組建管線。
選取 [Azure Pipelines],它應該會自動帶您前往 [ 組建 ] 頁面。
建立新管線。
對於新的 Azure DevOps 使用者,這會自動帶您前往 YAML 管線建立體驗。 若要進入傳統編輯器並完成本指南,您必須關閉新 YAML 管線建立體驗的預覽功能:
請確定 來源、 專案、存放 庫和預設 分支 符合您建立腳本的位置。
從 空白作業開始。
在左側,選取 [管線 ],並指定您想要使用的任何 名稱 。 針對 [代理程式組件區],選取 [ 託管 VS2017]。
在左側,選取加號 ( + ) ,將工作新增至 作業 1。 在右側,選取 [公用程式 ] 類別,從清單中選取 PowerShell 工作,然後選擇 [ 新增]。
在左側,選取新的 PowerShell 腳本工作。
針對 [ 腳本路徑] 引數,選取
按鈕以流覽您的存放庫,然後選取您建立的腳本。
選取 [儲存 & 佇列],然後選取 [ 儲存]。
選取 [建置和發行],然後選擇 [ 組建]。
建立新管線。
從空白管線開始
選取 [管線 ],並指定您想要使用的任何 名稱 。 針對 [代理程式組件區],選取 [預設]。
在左側,選取 [+ 新增工作 ] 以將工作新增至作業,然後在右側選取 [公用程式 ] 類別,選取 PowerShell 工作,然後選擇 [ 新增]。
在左側,選取新的 PowerShell 腳本工作。
針對 [ 腳本路徑] 引數,選取
按鈕以流覽您的存放庫,然後選取您建立的腳本。
選取 [儲存 & 佇列],然後選取 [ 儲存]。
組建管線是您用來定義自動化建置管線的實體。 在組建管線中,您會撰寫一組工作,每個工作都會在組建中執行一個步驟。 工作目錄提供一組豐富的工作供您開始使用。 您也可以將 PowerShell 或殼層腳本新增至組建管線。
從組建發佈成品
一般組建會產生成品,然後部署至版本中的各個階段。 在這裡,為了以簡單的方式示範功能,我們只會將腳本發佈為成品。
在 [ 工作] 索引標籤上,選取加號 ( + ) ,將工作新增至 作業 1。
選取 [公用程式 ] 類別,選取 [發佈組建成品] 工作 ,然後選取 [ 新增]。
要發佈的路徑:選取
要流覽的按鈕,然後選取您建立的腳本。
成品名稱:輸入
drop
。成品發佈位置:選取 [Azure Artifacts/TFS]。
在 [ 工作] 索引 標籤上,選取 [ 新增工作]。
選取 [公用程式 ] 類別,選取 [發佈組建成品] 工作 ,然後選取 [ 新增]。
發佈路徑:選取
要流覽的按鈕,然後選取您所建立的腳本。
成品名稱:輸入
drop
。成品類型:選取 [伺服器]。
成品是您想要建置產生的檔案。 成品幾乎可以是您的小組測試或部署應用程式所需的任何專案。 例如,您有一個.DLL,並.EXE可執行檔和 。C# 或 C++ .NET Windows 應用程式的 PDB 符號檔案。
為了讓您產生成品,我們提供一些工具,例如使用模式比對進行複製,以及可在其中收集成品再發行成品的預備目錄。 請參閱 Azure Pipelines 中的成品。
啟用持續整合 (CI)
選取 [觸發程序] 索引標籤。
啟用 持續整合。
組建管線上的持續整合觸發程式表示每當認可程式碼變更時,系統應該自動將新組建排入佇列。 您可以讓觸發程式更一般或更具體,也可以排程建置 (,例如,以夜間為基礎) 。 請參閱 建置觸發程式。
儲存並排入組建佇列
手動儲存並排入組建佇列,並測試您的組建管線。
選取 [儲存 & 佇列],然後選取 [ 儲存 & 佇列]。
在對話方塊中,再次選取 [ 儲存 & 佇列 ]。
這會在 Microsoft 裝載的代理程式上排入新的組建佇列。
您會在頁面頂端看到新組建的連結。
選擇連結以watch新組建發生時。 配置代理程式之後,您就會開始看到組建的即時記錄。 請注意,PowerShell 腳本會在組建中執行,並將 「Hello world」 列印到主控台。
移至組建摘要。 請注意,在組建的 [ 成品] 索引 標籤上,腳本會發佈為成品。
選取 [儲存 & 佇列],然後選取 [ 儲存 & 佇列]。
在對話方塊中,再次選取 [ 儲存 & 佇列 ]。
這會在 Microsoft 裝載的代理程式上排入新的組建佇列。
您會在頁面頂端看到新組建的連結。
選擇連結以watch新組建發生時。 配置代理程式之後,您就會開始看到組建的即時記錄。 請注意,PowerShell 腳本會在組建中執行,並將 「Hello world」 列印到主控台。
移至組建摘要。
請注意,在組建的 [ 成品] 索引 標籤上,腳本會發佈為成品。
您可以隨時流覽至Azure Pipelines中的 [組建] 索引標籤,以檢視所有組建的摘要,或鑽研每個組建的記錄。 針對每個組建,您也可以檢視已建置的認可清單,以及與每個認可相關聯的工作專案。 您也可以在每個組建中執行測試,並分析測試失敗。
新增一些變數,並將變更認可至您的腳本
我們會將一些建置變數傳遞至腳本,讓管線更有趣。 然後,我們會認可腳本的變更,並watch CI 管線自動執行以驗證變更。
編輯您的組建管線。
在 [ 工作] 索引 標籤上,選取 PowerShell 腳本工作。
新增這些引數。
引數
-greeter "$(Build.RequestedFor)" -trigger "$(Build.Reason)"
最後,儲存組建管線。
接下來,您會將引數新增至腳本。
移至您在上一個導覽和TFS) 中,Azure Repos (程式代碼中樞的檔案。
選取 HelloWorld.ps1 檔案,然後 選取 [編輯 檔案]。
變更腳本,如下所示:
Param( [string]$greeter, [string]$trigger ) Write-Host "Hello world" from $greeter Write-Host Trigger: $trigger
認可 (儲存) 腳本。
現在您可以看到變更的結果。 移至 [Azure Pipelines] ,然後選取 [ 已排入佇列]。 請注意,在 [ 已排入佇列] 或 [執行 中] 區段下,您認可的變更會自動觸發組建。
現在您可以看到變更的結果。 移至 [ 建置和發行 ] 頁面,然後選取 [ 已排入佇列]。 請注意,在 [ 已排入佇列] 或 [執行 中] 區段下,您認可的變更會自動觸發組建。
選取已建立的新組建,並檢視其記錄檔。
請注意,變更程式碼的人員已在問候語訊息中列印其名稱。 您也會看到這是 CI 組建的列印。
我們剛剛在這些步驟中引進了建置變數的概念。 我們列印了系統自動預先定義和初始化的變數值。 您也可以定義自訂變數,並在工作的引數中使用自訂變數,或作為腳本內的環境變數。 若要深入瞭解變數,請參閱 建置變數。
您有組建管線。 後續步驟
您已建立建置管線,自動建置並驗證小組簽入的任何程式碼。 此時,您可以繼續進行下一節,以瞭解發行管線。 或者,如果您想要的話,您可以 直接跳 到為您的應用程式建立組建管線。
建立發行管線
定義在兩個階段中執行腳本的程式。
移至 [ 管線] 索引標籤 ,然後選取 [ 發行]。
選取動作以建立 新的管線。 如果已建立發行管線,請選取加號 ( + ) ,然後選取 [ 建立發行管線]。
選取要以 空白作業開頭的動作。
將階段命名為 QA。
在 [成品] 面板中,選取 [ + 新增 ] 並指定 [來源] ([建置管線) ]。 選取 [新增]。
選取 [閃電] 以觸發持續部署,然後在右側啟用 持續部署觸發程式 。
選取 [ 工作] 索引 標籤,然後選取您的 QA 階段。
選取加號 ( + ) ,讓作業將工作新增至作業。
在 [ 新增工作 ] 對話方塊中,選取 [ 公用程式],找出 PowerShell 工作,然後選取其 [ 新增 ] 按鈕。
在左側,選取新的 PowerShell 腳本工作。
針對 [ 腳本路徑] 引數,選取
按鈕以流覽成品,然後選取您所建立的腳本。
新增這些 引數:
-greeter "$(Release.RequestedFor)" -trigger "$(Build.DefinitionName)"
在 [ 管線] 索引 標籤上,選取 QA 階段,然後選取 [ 複製]。
將複製的階段重新命名為 Production。
重新命名發行管線 Hello world。
儲存發行管線。
移至 [ 建置和發行 ] 索引標籤,然後選取 [ 發行]。
選取動作以建立 新的管線。 如果已建立發行管線,請選取加號 ( + ) ,然後選取 [ 建立發行定義]。
選取要以 空白定義開頭的動作。
將階段命名為 QA。
在 [成品] 面板中,選取 [ + 新增 ] 並指定 [來源] ([建置管線) ]。 選取 [新增]。
選取 [閃電] 以觸發持續部署,然後在右側啟用 持續部署觸發程式 。
選取 [ 工作] 索引標籤,然後選取 您的 QA 階段。
選取加號 ( + ) ,讓作業將工作新增至作業。
在 [ 新增工作 ] 對話方塊中,選取 [公用程式],找出 PowerShell 工作,然後選取其 [ 新增 ] 按鈕。
在左側,選取新的 PowerShell 腳本工作。
針對 [腳本路徑 ] 引數,選取
按鈕以流覽您的成品,然後選取您建立的腳本。
新增這些 引數:
-greeter "$(Release.RequestedFor)" -trigger "$(Build.DefinitionName)"
在 [ 管線 ] 索引標籤上,選取 QA 階段,然後選取 [複製]。
將複製的階段重新命名 為 Production。
重新命名發行管線 Hello world。
儲存發行管線。
發行管線是部署應用程式組建成品的階段集合。 它也會定義每個階段的實際部署管線,以及如何將成品從某個階段升階到另一個階段。
此外,請注意,我們在腳本引數中使用了一些變數。 在此案例中,我們使用 發行變數 ,而不是用於建置管線的組建變數。
部署版本
在每個階段中執行腳本。
建立新版本。
當 [ 建立新版本 ] 出現時,請選取 [ 建立]。
開啟您所建立的版本。
檢視記錄以取得有關發行的即時資料。
建立新版本。
當 [ 建立新版本 ] 出現時,請選取 [ 建立 (TFS 2018.2) 或 佇列 (TFS 2018 RTM) 。
開啟您所建立的版本。
檢視記錄以取得有關發行的即時資料。
您可以追蹤每個版本的進度,以查看它是否已部署到所有階段。 您可以追蹤屬於每個發行一部分的認可、相關聯的工作專案,以及您已新增至發行管線之任何測試回合的結果。
變更您的程式碼並watch自動部署到生產環境
我們將對腳本進行更多變更。 這次會自動建置,然後一路部署至生產階段。
移至 [ 程式碼 中樞]、[ 檔案] 索引 標籤、編輯 HelloWorld.ps1 檔案,然後變更它,如下所示:
Param( [string]$greeter, [string]$trigger ) Write-Host "Hello world" from $greeter Write-Host Trigger: $trigger Write-Host "Now that you've got CI/CD, you can automatically deploy your app every time your team checks in code."
認可 (儲存) 腳本。
選取 [ 組建] 索引 標籤,以查看組建已排入佇列並執行。
建置完成後,選取 [ 發行 ] 索引標籤,開啟新版本,然後移至 [ 記錄]。
您的新程式碼會自動部署在 QA 階段,然後在 生產 階段中。
在許多情況下,您可能想要編輯發行管線,讓生產部署只有在某些測試和核准就緒之後才會發生。 請參閱 核准和閘道概觀。
下一步
您剛瞭解如何在 Azure 中建立您的第一個管線。 深入瞭解以您選擇的語言設定管線:
或者,您可以繼續自訂您剛才建立 的管線 。
若要在容器中執行管線,請參閱 容器作業。
如需建置 GitHub 存放庫的詳細資訊,請參閱 建置 GitHub 存放庫。
若要瞭解如何發佈 管線成品,請參閱發佈管線成品。
若要瞭解您可以在 YAML 管線中執行的其他動作,請參閱 YAML 架構參考。
清理
如果您已建立任何測試管線,當您完成測試管線時,這些管線很容易刪除。
若要刪除管線,請流覽至該管線的摘要頁面,然後從頁面右上方的[...]功能表選擇[刪除]。 輸入要確認的管線名稱,然後選擇 [ 刪除]。
您已瞭解建立和執行管線的基本概念。 現在您已準備好為所使用的程式設計語言設定組建管線。 繼續進行並建立新的組建管線,這次,請使用下列其中一個範本。
語言 | 要使用的範本 |
---|---|
.NET | ASP.NET |
.NET Core | ASP.NET Core |
C++ | .NET 桌面 |
Go | Go |
Java | Gradle |
JavaScript | Node.js |
Xcode | Xcode |
常見問題集
我可以在哪裡閱讀 DevOps 和 CI/CD 的相關文章?
我可以使用哪個版本控制系統?
當您準備好開始使用應用程式的 CI/CD 時,您可以使用您選擇的版本控制系統:
用戶端
服務
- Azure Pipelines
- Git 服務提供者,例如 GitHub 和 Bitbucket Cloud
- Subversion
用戶端
服務
- Azure Pipelines
- Git 服務提供者,例如 GitHub 和 Bitbucket Cloud
- Subversion
如何?複寫管線嗎?
如果您的管線有您想要在其他管線中複寫的模式,請複製、匯出或儲存為範本。
複製管線之後,您可以進行變更,然後加以儲存。
匯出管線之後,您可以從 [ 所有管線] 索引 標籤匯入該管線。
建立範本之後,您的小組成員就可以使用它來遵循新管線中的模式。
提示
如果您使用 [新增組建編輯器],則自訂範本會顯示在清單底部。
如何?使用草稿嗎?
如果您要編輯組建管線,而且想要測試尚未準備好用於生產環境的一些變更,您可以將它儲存為草稿。
您可以視需要編輯及測試草稿。
準備好時,您可以發佈草稿,將變更合併至組建管線。
或者,如果您決定捨棄草稿,則可以從上方顯示的 [ 所有管線 ] 索引標籤中刪除。
如何刪除管線?
若要刪除管線,請流覽至該管線的摘要頁面,然後從頁面右上方的[...]功能表選擇[刪除]。 輸入要確認的管線名稱,然後選擇 [ 刪除]。
您可以 自動 或手動排入組建佇列。
當您手動將組建排入佇列時,您可以針對組建的單一執行執行:
您可以 自動 或手動排入組建佇列。
當您手動將組建排入佇列時,您可以針對組建的單一執行執行: