建立您的第一個管線
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 徽章,在 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。 (上一個導覽中的 程式碼中樞)
如果您的專案是空的,將會顯示一個頁面來協助您將程式碼新增至存放庫。 選擇下方選項,以使用
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 或 Shell 腳本新增至組建管線。
從建置發佈工件
一般構建會產生生成物,然後可在發布流程中部署到各個階段。 在這裡,為了以簡單的方式示範功能,我們只會將腳本發佈為成品。
在 [ 工作] 索引標籤上,選取加號 (+) 將工作新增至 作業 1。
選取 [ 公用程式 ] 類別,選取 [發佈組建成品 ] 工作,然後選取 [ 新增]。
發佈的路徑:選取
按鈕以瀏覽並選取您所建立的腳本。
成品名稱:輸入
drop
。成品發佈位置:選取 [Azure Artifacts/TFS]。
成品是您想要建置產生的檔案。 產物幾乎可以是您團隊在測試或部署應用程式時所需的任何項目。 例如,您有.DLL和.EXE可執行檔案和 。C# 或 C++ .NET Windows 應用程式的 PDB 符號檔案。
為了讓您能夠產生成品,我們提供工具,例如使用模式匹配進行複製,以及一個階段性目錄,您可以在其中收集成品,然後發佈。 請參閱 Azure Pipelines 中的工件。
開啟持續整合 (CI)
選取 觸發 索引標籤。
啟用 持續整合。
組建管線上的持續整合觸發程式指出,每當認可程式代碼變更時,系統應該自動將新組建排入佇列。 您可以讓觸發條件更一般或更具體,也可以排程您的建置(例如,每晚定期執行)。 請參閱 建置觸發程式。
儲存並排入組建佇列
手動儲存並將建置加入佇列,並測試您的建置流程。
選取 [ 儲存和佇列],然後選取 [ 儲存和佇列]。
在對話框中,再次選取 [ 儲存和佇列 ]。
這會在Microsoft託管的代理程式上將新的建置排入佇列。
您會看到頁面頂端的新版本連結。
選擇連結以觀看新版本的建置過程。 配置代理程序之後,您就會開始看到組建的實時記錄。 請注意,PowerShell 腳本會在組建中執行,而且 「Hello world」 會列印到控制台。
移至組建摘要。 在組建的 [Artifacts] 標籤頁上,請注意腳本會發佈為工件。
新增一些變數,並將變更提交到你的腳本
我們會將一些組建變數傳遞至腳本,讓我們的管線更有趣一點。 然後,我們會提交對腳本的變更,並監看 CI 流水線自動運行來驗證變更。
編輯您的建置流程。
在 [ 工作] 索引標籤上,選取 PowerShell 腳本工作。
新增這些參數。
引數
-greeter "$(Build.RequestedFor)" -trigger "$(Build.Reason)"
最後,儲存建置管線。
接下來,您會將自變數新增至腳本。
移至
檔案 中的 Azure Repos( Code 中樞和先前導覽中的 TFS)。選取 HelloWorld.ps1 檔案,然後編輯檔案。
變更腳本,如下所示:
Param( [string]$greeter, [string]$trigger ) Write-Host "Hello world" from $greeter Write-Host Trigger: $trigger
提交 (儲存)文稿。
現在您可以看到變更的結果。 移至 Azure Pipelines,然後選取 已排入佇列。 請注意,在 [ 已排入佇列或執行中 ] 區段底下,由您提交的變更會自動觸發建置。
選取已建立的新組建並檢視其記錄檔。
請注意,變更程式代碼的人員在問候語訊息中印有其名稱。 您也可以看到這是 CI 建置的顯示。
我們只是在這些步驟中引進了建置變數的概念。 我們列印了系統自動預先定義和初始化的變數值。 您也可以定義自定義變數,並將其用於任務的參數,或在腳本中作為環境變數使用。 若要深入瞭解變數,請參閱 建置變數。
您有組建管線。 接下來是什麼?
您已建立建置管線,自動建置並驗證由您團隊簽入的所有程式碼。 此時,您可以繼續進行下一節,以了解發行管線。 或者,如果您想要的話,您可以 直接 跳到為您的應用程式建立組建管線。
建立發行管線
定義兩個階段中執行腳本的程式。
移至 Pipelines 標籤頁,然後選取 版本 。
選擇新管線建立動作。 如果已建立發行管線,請選取加號 (+) ,然後選取 [ 建立發行管線]。
選取要以空白作業開頭的動作。
將階段 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 | 去 |
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
如何複製一個管線?
如果您的管線有您想要在其他管線中複寫的模式,請複製、匯出或儲存為範本。
複製管線之後,您可以進行變更,然後加以儲存。
匯出管線之後,您可以從 [ 所有管線 ] 卷標匯入它。
建立範本之後,小組成員就可以使用它來遵循新管線中的模式。
提示
如果您使用 [ 新增組建編輯器],則自定義範本會顯示在清單底部。
如何使用草稿?
如果您要編輯組建管線,而且想要測試尚未準備好用於生產環境的一些變更,您可以將它儲存為草稿。
您可以視需要編輯和測試草稿。
當您準備好時,可以發佈草稿版本,將變更合併至建置流程。
或者,如果您決定捨棄草稿,可以從上述顯示的 所有管線 標籤中刪除。
如何刪除管道?
若要刪除管線,請流覽至該管線的摘要頁面,然後從頁面右上方的 [...] 功能表中選擇 [刪除]。 輸入要確認的管線名稱,然後選擇 [ 刪除]。
您可以將建置自動或手動排入佇列。
當您手動將組建排入佇列時,您可以單一執行組建: