建立您的第一個管線
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
這是使用 Azure Pipelines 從 Git 存放庫建置範例應用程式的逐步指南。 本指南使用以 YAML 管線編輯器設定的 YAML 管線。 如果您想要改用傳統管線,請參閱 定義您的傳統管線。 如需使用 TFVC 的指引,請參閱 建置 TFVC 存放庫。
必要條件 - 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
檔案認可至存放庫。 滿意訊息之後,請選取 [ 儲存],然後再次執行 。如果您想要監看管線的運作情形,請選取建置作業。
您剛建立並執行我們為您自動建立的管線,因為您的程序代碼似乎與 Maven 範本相符。
您現在已在存放庫中有一個可運作的 YAML 管線 (
azure-pipelines.yml
),可供您自定義!當您準備好變更管線時,請在 [管線] 頁面中選取它,然後編輯
azure-pipelines.yml
檔案。
深入瞭解 如何在管線中使用Java 。
檢視和管理管線
您可以從左側功能表中選擇 [管 線],以前往管線登陸頁面,以檢視和管理管線。
您可以從管線登陸頁面檢視管線和管線執行、建立和匯入管線、管理安全性,以及向下切入管線並執行詳細數據。
選擇 [最近使用 ] 以檢視最近執行的管線(預設檢視),或選擇 [ 全部 ] 以檢視所有管線。
選取管線來管理該管線並 檢視執行。 選取上次執行的組建編號以檢視該組建的結果、選取分支名稱以檢視該執行的分支,或選取操作功能表來執行管線並執行其他管理動作。
選取 [ 執行] 以檢視所有管線執行。 您可以選擇性地篩選顯示的回合。
選取管線執行以檢視該執行的相關信息。
您可以選擇從操作選單保留或移除執行。 如需執行保留的詳細資訊,請參閱 建置和發行保留原則。
檢視管線詳細數據
管線的詳細數據頁面可讓您檢視和管理該管線。
選擇 [ 編輯 ] 以編輯您的管線。 如需詳細資訊,請參閱 YAML 管線編輯器。 您也可以直接在裝載管線的存放庫中修改 azure-pipelines.yml 檔案,以編輯管線。
檢視管線執行詳細數據
從管線執行摘要中,您可以檢視執行狀態,無論是在執行中還是完成時。
您可以從摘要窗格中檢視作業和階段詳細數據、下載成品,以及流覽至鏈接的認可、測試結果和工作專案。
作業和階段
[作業] 窗格會顯示階段和作業狀態的概觀。 此窗格可能會有多個索引卷標,視您的管線是否有階段和作業,或只有作業而定。 在此範例中,管線有兩個階段,名為 Build 和 Deploy。 您可以從 [階段] 或 [作業] 窗格選擇作業,向下切入至管線步驟。
選擇作業以查看該作業的步驟。
從步驟檢視中,您可以檢視每個步驟的狀態和詳細數據。 您可以從 [更多動作] 切換時間戳,或檢視管線中所有步驟的原始記錄檔。
取消並重新執行管線
如果管線正在執行,您可以選擇 [取消] 來取消它。 如果執行已完成,您可以選擇 [執行新的] 來重新執行管線。
管線執行更多動作功能表
您可以從 [更多動作] 功能表下載記錄、新增標籤、編輯管線、刪除執行,以及設定執行保留。
注意
如果保留執行,便無法刪除執行。 如果您沒有看到 [刪除],請選擇 [停止保留執行],然後刪除執行。 如果您同時看到 [刪除] 和 [檢視保留版本],則表示仍有一或多個已設定的保留原則套用至您的執行。 選擇 [檢視保留版本]、刪除原則 (只會移除所選執行的原則),然後刪除執行。
將狀態徽章新增至您的存放庫
許多開發人員喜歡在存放庫中顯示狀態徽章,以顯示其程式代碼品質高。
若要將狀態徽章複製到剪貼簿:
在 Azure Pipelines 中,移至 [管線] 頁面以檢視管線清單。 選取您在上一節中建立的管線。
選取 ,然後選取 [ 狀態徽章]。
選取 [ 狀態徽章]。
從範例 Markdown 區段複製範例 Markdown。
現在,在剪貼簿中使用 Markdown 徽章,在 GitHub 中執行下列步驟:
移至檔案清單,然後選取
Readme.md
。 選取鉛筆圖示進行編輯。將狀態徽章 Markdown 貼到檔案的開頭。
將變更認可至
main
分支。請注意,狀態徽章會出現在存放庫的描述中。
若要設定私人專案的匿名存取徽章:
流覽至頁面左下角的項目設定
開啟 [管線] 底下的 [設定] 索引標籤
切換 [一般] 下方的 [停用匿名存取徽章] 滑桿
注意
即使在私人專案中,預設也會啟用匿名徽章存取。 啟用匿名徽章存取後,組織外部的用戶或許可以透過徽章狀態 API 查詢資訊,例如專案名稱、分支名稱、作業名稱,以及建置狀態。
因為您剛變更此存放庫中的 Readme.md
檔案,所以 Azure Pipelines 會根據存放庫根目錄中檔案中的 azure-pipelines.yml
組態,自動建置程式代碼。 回到 Azure Pipelines,觀察新的執行隨即出現。 每次進行編輯時,Azure Pipelines 都會啟動新的執行。
我們將示範如何使用 Azure DevOps Server 2019 中的傳統編輯器來建立列印 「Hello world」 的組建和發行。
移至 Azure Repos。 (The 上一個導覽中的程式碼 中樞)
如果您的專案是空的,您將會受到畫面的歡迎,以協助您將程式代碼新增至存放庫。 選擇底部選項,以使用
readme
檔案初始化存放庫:
移至 Azure Repos。
新增檔案。
在對話框中,為您的新檔案命名並加以建立。
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 或殼層腳本新增至組建管線。
從組建發佈成品
一般組建會產生成品,然後可在發行中部署到各種階段。 在這裡,為了以簡單的方式示範功能,我們只會將腳本發佈為成品。
在 [ 工作] 索引標籤上,選取加號 (+) 將工作新增至 作業 1。
選取 [ 公用程式 ] 類別,選取 [發佈組建成品 ] 工作,然後選取 [ 新增]。
發佈路徑:選取 要瀏覽的按鈕,然後選取您所建立的腳本。
成品名稱:輸入
drop
。成品發佈位置:選取 [Azure Artifacts/TFS]。
成品是您想要建置產生的檔案。 成品幾乎可以是小組測試或部署應用程式所需的任何專案。 例如,您有.DLL和.EXE可執行檔案和 。C# 或 C++ .NET Windows 應用程式的 PDB 符號檔案。
為了讓您能夠產生成品,我們提供工具,例如複製模式比對,以及您可以在其中收集成品的預備目錄,再發佈這些成品。 請參閱 Azure Pipelines 中的成品。
開啟持續整合 (CI)
選取 [觸發程序] 索引標籤。
啟用 持續整合。
組建管線上的持續整合觸發程式指出,每當認可程式代碼變更時,系統應該自動將新組建排入佇列。 您可以讓觸發程式更一般或更具體,也可以排程您的組建(例如,每晚使用)。 請參閱 建置觸發程式。
儲存並排入組建佇列
手動儲存並排入組建佇列,並測試您的組建管線。
選取 [ 儲存和佇列],然後選取 [ 儲存和佇列]。
在對話框中,再次選取 [ 儲存和佇列 ]。
這會在裝載Microsoft代理程式上將新的組建排入佇列。
您會看到頁面頂端新組建的連結。
選擇連結以監看新組建發生時。 配置代理程序之後,您就會開始看到組建的實時記錄。 請注意,PowerShell 腳本會在組建中執行,而且 「Hello world」 會列印到控制台。
移至組建摘要。 在組建的 [ 成品] 索引 卷標上,請注意腳本會發佈為成品。
新增一些變數,並將變更認可至您的腳本
我們會將一些組建變數傳遞至腳本,讓我們的管線更有趣一點。 然後,我們會認可對腳本的變更,並監看 CI 管線自動執行以驗證變更。
編輯您的組建管線。
在 [ 工作] 索引標籤上,選取 PowerShell 腳本工作。
新增這些自變數。
引數
-greeter "$(Build.RequestedFor)" -trigger "$(Build.Reason)"
最後,儲存組建管線。
接下來,您會將自變數新增至腳本。
移至 Azure Repos 中的檔案(上一個導覽中的程式代碼中樞和 TFS)。
選取 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 ] 階段,然後選取 [ 複製]。
重新命名複製階段 生產。
重新命名發行管線 Hello world。
儲存發行管線。
發行管線是部署應用程式組建成品的階段集合。 它也會定義每個階段的實際部署管線,以及成品從一個階段升級到另一個階段的方式。
此外,請注意,我們在腳本自變數中使用了一些變數。 在此情況下,我們使用 發行變數 ,而不是用於建置管線的組建變數。
部署版本
在每個階段中執行腳本。
建立新版本。
當 [建立新版本] 出現時,選取 [建立]。
開啟您所建立的版本。
檢視記錄以取得有關發行的實時數據。
您可以追蹤每個版本的進度,以查看其是否已部署到所有階段。 您可以追蹤屬於每個發行一部分的認可、相關聯的工作專案,以及您已新增至發行管線的任何測試回合結果。
變更您的程式代碼並監看它自動部署至生產環境
我們將再對腳本進行一次變更。 這次會自動建置,然後一路部署至生產階段。
移至 [程序代碼中樞]、[檔案] 索引標籤、編輯 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
- Azure Repos Git、GitHub 和 Bitbucket Cloud 等 Git 服務提供者
- Subversion
用戶端
服務
- Azure Pipelines
- Git 服務提供者,例如 GitHub 和 Bitbucket Cloud
- Subversion
如何? 複寫管線?
如果您的管線有您想要在其他管線中複寫的模式,請複製、匯出或儲存為範本。
複製管線之後,您可以進行變更,然後加以儲存。
匯出管線之後,您可以從 [ 所有管線] 索引 卷標匯入它。
建立範本之後,小組成員就可以使用它來遵循新管線中的模式。
提示
如果您使用 [ 新增組建編輯器],則自定義範本會顯示在清單底部。
如何? 使用草稿嗎?
如果您要編輯組建管線,而且想要測試尚未準備好用於生產環境的一些變更,您可以將它儲存為草稿。
您可以視需要編輯和測試草稿。
當您準備好時,可以發佈草稿,將變更合併至組建管線。
或者,如果您決定捨棄草稿,您可以從上面顯示的 [所有管線] 索引卷標中刪除。
如何刪除管線?
若要刪除管線,請流覽至該管線的摘要頁面,然後從頁面右上方的 [...] 功能表中選擇 [刪除]。 輸入要確認的管線名稱,然後選擇 [ 刪除]。
您可以自動或手動將組建排入佇列。
當您手動將組建排入佇列時,您可以單一執行組建: