共用方式為


建立您的第一個管線

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 管線

  1. 登入您的 Azure DevOps 組織並前往您的專案。

  2. 移至 [管線],然後在建立第一個管線時選取 [ 新增管線 ] 或 [建立管線 ]。

  3. 執行精靈的步驟,首先選取 [GitHub] 作為您的原始程式碼位置。

  4. 系統可能會將您重新導向至 GitHub 以進行登入。 若是如此,請輸入 GitHub 認證。

  5. 當您看到存放庫清單時,請選取您的存放庫。

  6. 系統可能會將您重新導向至 GitHub,以安裝 Azure Pipelines 應用程式。 如果發生此情況,請選取 [核准並安裝]

  1. Azure Pipelines 會分析您的存放庫,並建議 Maven 管線範本。

  2. 在新的管線出現時,請查看 YAML 以了解其用途。 當您準備好時,請選取 [儲存並執行]

  3. 系統會提示您將新 azure-pipelines.yml 檔案提交至版本庫。 滿意訊息之後,請選取 [ 儲存],然後再次執行

    如果您想要監看管線的運作情形,請選取建置作業。

    您剛建立並執行我們為您自動建立的管線,因為您的程序代碼似乎與 Maven 範本相符

    您現在已在存放庫中有一個可運作的 YAML 管線 (azure-pipelines.yml),可供您自定義!

  4. 當您準備好變更管線時,請在 [管線] 頁面中選取它,然後編輯azure-pipelines.yml檔案。

深入瞭解 如何在流程中使用Java

檢視和管理管線

您可以從左側功能表中選擇管線,前往管線主頁來檢視和管理您的管線。

管線登陸頁面的螢幕快照。

從管線的主頁,您可以檢視管線和管線運行,建立和匯入管線,管理安全性,並深入查看管線和運行的詳細資料。

選擇 [最近使用 ] 以檢視最近執行的管線(預設檢視),或選擇 [ 全部 ] 以檢視所有管線。

管線首頁上查看管線執行選項的螢幕截圖。

選擇一個管線來管理該管線並 查看其執行紀錄。 選取上次執行的組建編號以檢視該組建的結果、選取分支名稱以檢視該執行的分支,或選取操作功能表來執行管線並執行其他管理動作。

最近執行管線的螢幕快照。

選取 執行個體 以檢視所有管線執行個體。 您可以選擇性地篩選顯示的回合。

管道執行的螢幕快照。

請選擇一個管線執行來查看該執行的相關資訊。

您可以選擇從內容選單保留刪除一個執行。 如需執行保留的詳細資訊,請參閱 建置和發行保留原則

管線執行操作功能表的螢幕快照。

檢視管線詳細數據

管線的詳細數據頁面可讓您檢視和管理該管線。

管線詳細數據頁面的螢幕快照。

選擇 [ 編輯 ] 以編輯您的管線。 如需詳細資訊,請參閱 YAML 管線編輯器。 您也可以直接在裝載管線的存放庫中修改 azure-pipelines.yml 檔案,以編輯管線。

檢視管線運行詳情

從管線執行摘要中,您可以檢視執行狀態,無論是在執行中還是完成時。

管道執行摘要的螢幕快照。

您可以從摘要窗格中檢視任務和階段詳細數據、下載工件,以及瀏覽至連結的提交、測試結果和工作專案。

作業和階段

[作業] 窗格會顯示階段和作業狀態的概觀。 此窗格可能會有多個索引卷標,視您的管線是否有階段和作業,或只有作業而定。 在此範例中,管線有兩個階段,名為 BuildDeploy。 您可以從 [階段][作業] 窗格選擇作業,以深入分析管線步驟。

管線作業和階段的螢幕快照。

選擇作業以查看該作業的步驟。

管線工作的螢幕快照。

從步驟檢視中,您可以檢視每個步驟的狀態和詳細數據。 您可以從 [更多動作] 切換時間戳,或檢視管線中所有步驟的原始記錄檔。

管線工作內容功能表的螢幕快照。

取消並重新執行管道

如果管線正在執行,您可以選擇取消來中止它。 如果執行已完成,您可以選擇 執行新的 來重新執行管線。

取消管線執行的螢幕快照。

管線執行更多動作功能表

您可以從 更多動作功能表下載日誌記錄、新增標籤、編輯管線、刪除執行,以及設定保留期限

管線執行摘要頁面更多動作功能表的螢幕快照。

注意

如果執行被保留,便無法刪除該執行。 如果您沒有看到 [刪除],請選擇 [停止保留執行],然後刪除執行。 如果您同時看到 [刪除] 和 [檢視保留版本],則表示仍有一或多個已設定的保留原則套用至您的執行。 選擇 [檢視保留版本]、刪除原則 (只會移除所選執行的原則),然後刪除執行。

將狀態徽章新增至您的存放庫

許多開發人員喜歡在存放庫中顯示狀態徽章,以顯示其程式代碼品質高。

狀態徽章顯示 Azure 管線成功

若要將狀態徽章複製到剪貼簿:

  1. 在 Azure Pipelines 中,移至 [管線] 頁面以檢視管線清單。 選取您在上一節中建立的管線。

  2. 選取 ,然後選取 [ 狀態徽章]。

  3. 選取 [ 狀態徽章]。

  4. 從「範例 Markdown」區段複製樣本。

現在,在剪貼簿中使用 Markdown 徽章,在 GitHub 中執行下列步驟:

  1. 移至檔案清單,然後選取 Readme.md。 選取鉛筆圖示進行編輯。

  2. 將狀態徽章 Markdown 貼到檔案的開頭。

  3. 將變更提交至 main 分支。

  4. 請注意,狀態徽章會出現在存放庫的描述中。

若要為私人專案設定徽章的匿名存取:

  1. 流覽至頁面左下角的項目設定

  2. 管線 底下開啟 設定 索引標籤

  3. 切換 一般 下方的 停用匿名存取徽章 滑桿

注意

即使在私人專案中,預設也會啟用匿名徽章存取。 啟用匿名徽章存取後,組織外部的用戶或許可以透過徽章狀態 API 查詢資訊,例如專案名稱、分支名稱、作業名稱,以及建置狀態。

因為您剛變更此存放庫中的 Readme.md 檔案,所以 Azure Pipelines 會根據存放庫根目錄中檔案中的 azure-pipelines.yml 組態,自動建置程式代碼。 回到 Azure Pipelines,觀察新的執行開始進行。 每次進行編輯時,Azure Pipelines 都會啟動新的執行。

我們將示範如何使用 Azure DevOps Server 2019 中的傳統編輯器來建立列印 「Hello world」 的組建和發行。

必要條件

初始化存放庫

如果您的專案中已經有存放庫,可以跳到下一個步驟: 跳到將腳本新增至存放庫

  1. 移至 Azure Repos。 (上一個導覽中的 程式碼中樞

    儲存庫檔案

  2. 如果您的專案是空的,將會顯示一個頁面來協助您將程式碼新增至存放庫。 選擇下方選項,以使用readme檔案初始化存放庫:

    初始化存放庫

將腳本新增至您的存放庫

建立一個 PowerShell 腳本來列印Hello world

  1. 移至 Azure Repos

  2. 新增檔案。

    在 [檔案] 索引標籤的 [存放庫] 節點中,選取 [新增檔案] 選項

  3. 在對話框中,為您的新檔案命名並加以建立。

    HelloWorld.ps1
    
  4. 複製並貼上此腳本。

    Write-Host "Hello world"
    
  5. 提交 (儲存) 檔案。

在本教學課程中,我們的重點是 CI/CD,因此我們會讓程式代碼部分保持簡單。 我們正直接在網頁瀏覽器中使用 Azure Repos Git 存放庫。

當您準備好開始建置和部署實際應用程式時,您可以使用各種版本控制用戶端和服務搭配 Azure Pipelines CI 組建。 深入了解

建立建置流程

建立一個會列印「Hello world」的建置流程。

  1. 選取 [Azure Pipelines],它應該會自動帶您前往 [ 組建 ] 頁面。

    移至 [建置] 索引標籤

  2. 建立新管線。

    選取 [建置] 索引標籤按鈕

    針對新的 Azure DevOps 使用者,這會自動帶您前往 YAML 管線建立體驗。 若要前往傳統編輯器並完成本指南,您必須關閉新 YAML 管線建立體驗預覽功能

    按兩下畫面右上方的 [設定],然後按兩下 [預覽功能]

    按兩下切換以關閉 yaml 預覽功能

  3. 請確定 來源專案存放庫和預設 分支 符合您建立腳本的位置。

  4. 空白作業開始。

  5. 在左側,選取 [ 管線 ],並指定您想要使用的任何 名稱 。 針對「代理程式集區」,選取「託管 VS2017」。

  6. 在左側,選取加號 (+) 以將工作新增至 作業 1。 在右側,選取 [公用程式 ] 類別,從清單中選取 PowerShell 工作,然後選擇 [ 新增]。

    將建置工作新增至作業

  7. 在左側,選取新的 PowerShell 腳本工作。

  8. 針對 [ 腳本路徑] 自變數,選取 按鈕以流覽您的存放庫,然後選取您所建立的腳本。

    選取您的腳本

  9. 選取 [ 儲存和佇列],然後選取 [ 儲存]。

組建管線是您定義自動化建置管線的實體。 在構建管道中,您會組成一組任務,每個任務都會在構建中執行一個步驟。 任務目錄提供豐富的任務集,讓您可以輕鬆上手。 您也可以將 PowerShell 或 Shell 腳本新增至組建管線。

從建置發佈工件

一般構建會產生生成物,然後可在發布流程中部署到各個階段。 在這裡,為了以簡單的方式示範功能,我們只會將腳本發佈為成品。

  1. 在 [ 工作] 索引標籤上,選取加號 (+) 將工作新增至 作業 1

  2. 選取 [ 公用程式 ] 類別,選取 [發佈組建成品 ] 工作,然後選取 [ 新增]。

    新增發行工件任務

    發佈的路徑:選取 按鈕以瀏覽並選取您所建立的腳本。

    成品名稱:輸入 drop

    成品發佈位置:選取 [Azure Artifacts/TFS]。

成品是您想要建置產生的檔案。 產物幾乎可以是您團隊在測試或部署應用程式時所需的任何項目。 例如,您有.DLL和.EXE可執行檔案和 。C# 或 C++ .NET Windows 應用程式的 PDB 符號檔案。

為了讓您能夠產生成品,我們提供工具,例如使用模式匹配進行複製,以及一個階段性目錄,您可以在其中收集成品,然後發佈。 請參閱 Azure Pipelines 中的工件。

開啟持續整合 (CI)

  1. 選取 觸發 索引標籤。

  2. 啟用 持續整合

組建管線上的持續整合觸發程式指出,每當認可程式代碼變更時,系統應該自動將新組建排入佇列。 您可以讓觸發條件更一般或更具體,也可以排程您的建置(例如,每晚定期執行)。 請參閱 建置觸發程式

儲存並排入組建佇列

手動儲存並將建置加入佇列,並測試您的建置流程。

  1. 選取 [ 儲存和佇列],然後選取 [ 儲存和佇列]。

  2. 在對話框中,再次選取 [ 儲存和佇列 ]。

    這會在Microsoft託管的代理程式上將新的建置排入佇列。

  3. 您會看到頁面頂端的新版本連結。

    組建主控台

    選擇連結以觀看新版本的建置過程。 配置代理程序之後,您就會開始看到組建的實時記錄。 請注意,PowerShell 腳本會在組建中執行,而且 「Hello world」 會列印到控制台。

    在組建控制台中監看

  4. 移至組建摘要。 在組建的 [Artifacts] 標籤頁上,請注意腳本會發佈為工件。

    開啟組建主控台以查看成品

新增一些變數,並將變更提交到你的腳本

我們會將一些組建變數傳遞至腳本,讓我們的管線更有趣一點。 然後,我們會提交對腳本的變更,並監看 CI 流水線自動運行來驗證變更。

  1. 編輯您的建置流程。

  2. 在 [ 工作] 索引標籤上,選取 PowerShell 腳本工作。

  3. 新增這些參數。

在組建控制台中開啟PowerShell工作

引數

-greeter "$(Build.RequestedFor)" -trigger "$(Build.Reason)"

最後,儲存建置管線。

接下來,您會將自變數新增至腳本。

  1. 移至檔案中的 Azure ReposCode 中樞和先前導覽中的 TFS)。

  2. 選取 HelloWorld.ps1 檔案,然後編輯檔案。

  3. 變更腳本,如下所示:

    Param(
    [string]$greeter,
    [string]$trigger
    )
    Write-Host "Hello world" from $greeter
    Write-Host Trigger: $trigger
    
  4. 提交 (儲存)文稿。

現在您可以看到變更的結果。 移至 Azure Pipelines,然後選取 已排入佇列。 請注意,在 [ 已排入佇列或執行中 ] 區段底下,由您提交的變更會自動觸發建置。

  1. 選取已建立的新組建並檢視其記錄檔。

  2. 請注意,變更程式代碼的人員在問候語訊息中印有其名稱。 您也可以看到這是 CI 建置的顯示。

建立 PowerShell 腳本摘要記錄

我們只是在這些步驟中引進了建置變數的概念。 我們列印了系統自動預先定義和初始化的變數值。 您也可以定義自定義變數,並將其用於任務的參數,或在腳本中作為環境變數使用。 若要深入瞭解變數,請參閱 建置變數

您有組建管線。 接下來是什麼?

您已建立建置管線,自動建置並驗證由您團隊簽入的所有程式碼。 此時,您可以繼續進行下一節,以了解發行管線。 或者,如果您想要的話,您可以 直接 跳到為您的應用程式建立組建管線。

建立發行管線

定義兩個階段中執行腳本的程式。

  1. 移至 Pipelines 標籤頁,然後選取 版本

  2. 選擇新管線建立動作。 如果已建立發行管線,請選取加號 (+) ,然後選取 [ 建立發行管線]。

  3. 選取要以空白作業開頭的動作。

  4. 將階段 QA 命名為 。

  5. 在 [工件] 面板中,選取 [新增] 並指定 來源 (建置管線)。 選取 新增

  6. 選取閃電以觸發持續部署,然後在右側啟用持續部署觸發程式

    選取閃電以觸發持續部署

  7. 選取 [ 工作] 索引標籤,然後選取您的 QA 階段。

  8. 選擇加號 (+) 將任務新增至作業。

  9. 在 [新增工作] 對話框中,選取 [公用程式],找出 PowerShell 工作,然後選取其 [新增] 按鈕。

  10. 在左側,選取新的 PowerShell 腳本工作。

  11. 針對 [ 腳本路徑] 自變數,選取 按鈕以流覽您的成品,然後選取您所建立的腳本。

  12. 新增這些 自變數

    -greeter "$(Release.RequestedFor)" -trigger "$(Build.DefinitionName)"
    
  13. 管線索引標籤上,選取QA階段,然後選取複製

    在 QA 中複製發行環境

  14. 重新將複製的階段重新命名為生產

  15. 重新命名發行管線 Hello world

    重新命名發行管線 hello world

  16. 儲存發布管道。

發行管線是將應用程式建置產物部署到各階段的集合。 它也會定義每個階段的實際部署管線,以及成品從一個階段升級到另一個階段的方式。

此外,請注意,我們在腳本自變數中使用了一些變數。 在此情況下,我們使用 發行變數 ,而不是用於建置管線的組建變數。

部署發布版本

在每個階段中執行腳本。

  1. 建立新版本。

    建立版本 - DevOps 2019 和 2020

    建立新版本 出現時,選取 建立

  2. 開啟您所建立的釋出版本。

    已發佈版本 - DevOps 2019 和 2020

  3. 檢視記錄以取得有關發行的實時數據。

    發行記錄 - DevOps 2019 和 2020

您可以追蹤每個版本的進度,以查看其是否已部署到所有階段。 您可以追蹤每一個發行版本中的提交、相關的工作項目,以及新增至發行管線的任何測試執行結果。

變更您的程式代碼並監看它自動部署至生產環境

我們將再對腳本進行一次變更。 這次會自動建置,然後一路部署至生產階段。

  1. 移至 程序代碼樞檔案 標籤,編輯 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."
    
  2. 提交 (儲存)檔案。

  3. 選擇 [組建] 標籤,以查看排隊及執行中的組建。

  4. 建置完成後,選取 [發行] 索引 標籤,開啟新版本,然後移至 [ 記錄]。

新的程式代碼會自動部署在 QA 階段,然後在 生產 階段。

發行腳本步驟最終記錄 - DevOps 2019 和 2020

在許多情況下,您可能想要編輯發行管線,讓生產部署只有在一些測試和核准就緒之後才會進行。 請參閱 核准和閘道概觀

下一步

您已學會了如何在 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 的相關文章?

什麼是持續整合?

什麼是持續傳遞?

什麼是 DevOps?

我可以使用哪個版本控制系統?

當您準備好開始使用應用程式的 CI/CD 時,您可以使用您選擇的版本控制系統:

如何複製一個管線?

如果您的管線有您想要在其他管線中複寫的模式,請複製、匯出或儲存為範本。

所有定義建構動作選單重複操作

複製管線之後,您可以進行變更,然後加以儲存。

匯出管線之後,您可以從 [ 所有管線 ] 卷標匯入它。

建立範本之後,小組成員就可以使用它來遵循新管線中的模式。

提示

如果您使用 [ 新增組建編輯器],則自定義範本會顯示在清單底部。

如何使用草稿?

如果您要編輯組建管線,而且想要測試尚未準備好用於生產環境的一些變更,您可以將它儲存為草稿。

儲存為草稿

您可以視需要編輯和測試草稿。

編輯草稿 - DevOps 2019 和 2020

當您準備好時,可以發佈草稿版本,將變更合併至建置流程。

發佈草稿 - DevOps 2019 和 2020

或者,如果您決定捨棄草稿,可以從上述顯示的 所有管線 標籤中刪除。

如何刪除管道?

若要刪除管線,請流覽至該管線的摘要頁面,然後從頁面右上方的 [...] 功能表中選擇 [刪除]。 輸入要確認的管線名稱,然後選擇 [ 刪除]。

當我將建置排入佇列時,我還可以做什麼?

您可以將建置自動或手動排入佇列。

當您手動將組建排入佇列時,您可以單一執行組建:

您可以自動或手動將組建排入佇列。

當您手動將組建排入佇列時,您可以單一執行組建:

  • 指定構建所屬的

  • 新增和修改一些 變數

  • 新增 需求

  • 在 Git 存放庫中

我可以在哪裡深入瞭解管線設定?

若要深入瞭解管線設定,請參閱:

如何以程式方式建立建置流程?

REST API 參考:建立建置流程

注意

您也可以使用 Azure Pipelines CLI 從命令行或腳本管理組建和建置管線。