建立您的第一個管線

Azure DevOps Services |Azure DevOps Server 2020 |Azure DevOps Server 2019 |TFS 2018

這是使用 Azure Pipelines 建置範例應用程式的逐步指南。 本指南使用使用 YAML 管線編輯器設定的 YAML 管線。 如果您想要改用傳統 管線,請參閱定義傳統管線

必要條件 - Azure DevOps

請確定您具有下列項目:

  • 您可以在其中建立存放庫的 GitHub 帳戶。 建立免費帳戶

  • Azure DevOps 組織。 建立免費帳戶。 如果您的小組已經有,請確定您是您想要使用的 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

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

許多開發人員都喜歡顯示他們在存放庫中的狀態徽章,以顯示他們維持極高的程式碼品質。

狀態徽章顯示 Azure 管線成功

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

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

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

  3. 選取 [狀態徽章]。

  4. 從範例 Markdown 區段複製範例 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 都會啟動新的執行。

注意

在 Microsoft Team Foundation Server (TFS) 2018 和舊版中,組建和發行管線稱為定義執行稱為組建服務連線稱為服務端點階段稱為環境,而作業稱為階段

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

我們將示範如何使用 TFS 中的傳統編輯器來建立組建,以及列印 「Hello world」 的版本。

必要條件

初始化您的存放庫

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

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

    存放庫檔案

  2. 如果您的專案是空的,您將會看到畫面來協助您將程式碼新增至存放庫。 選擇底部選擇,以檔案 readme初始化存放庫:

    初始化存放庫

  1. 按一下頂端流覽中的 [ 程式碼 ] 以流覽至您的存放庫。

  2. 如果您的專案是空的,您將會看到畫面來協助您將程式碼新增至存放庫。 選擇底部選擇,以檔案 readme初始化存放庫:

    初始化存放庫

將腳本新增至您的存放庫

建立列印 Hello world 的 PowerShell 腳本。

  1. 移至Azure Repos

  2. 新增檔案。

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

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

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

    Write-Host "Hello world"
    
  5. 認可 (儲存檔案) 。

  1. 移至 程式碼 中樞。

  2. 新增檔案。

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

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

    Write-Host "Hello world"
    
  3. 認可 (儲存檔案) 。

在本教學課程中,我們的焦點在於 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. 選取 [儲存 & 佇列],然後選取 [ 儲存]。

  1. 選取 [建置和發行],然後選擇 [ 組建]。

    選擇 [建置] 索引標籤

  2. 建立新管線。

    建立新管線

  3. 空白管線開始

  4. 選取 [管線 ],並指定您想要使用的任何 名稱 。 針對 [代理程式組件區],選取 [預設]。

  5. 在左側,選取 [+ 新增工作 ] 以將工作新增至作業,然後在右側選取 [公用程式 ] 類別,選取 PowerShell 工作,然後選擇 [ 新增]。

    將工作新增至作業

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

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

    選取 PowerShell 工作

  8. 選取 [儲存 & 佇列],然後選取 [ 儲存]。

組建管線是您用來定義自動化建置管線的實體。 在組建管線中,您會撰寫一組工作,每個工作都會在組建中執行一個步驟。 工作目錄提供一組豐富的工作供您開始使用。 您也可以將 PowerShell 或殼層腳本新增至組建管線。

從組建發佈成品

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

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

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

    新增發佈成品工作

    要發佈的路徑:選取 要流覽的按鈕,然後選取您建立的腳本。

    成品名稱:輸入 drop

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

  1. 在 [ 工作] 索引 標籤上,選取 [ 新增工作]。

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

    選取 [新增] 以新增發佈成品工作

    發佈路徑:選取 要流覽的按鈕,然後選取您所建立的腳本。

    成品名稱:輸入 drop

    成品類型:選取 [伺服器]。

成品是您想要建置產生的檔案。 成品幾乎可以是您的小組測試或部署應用程式所需的任何專案。 例如,您有一個.DLL,並.EXE可執行檔和 。C# 或 C++ .NET Windows 應用程式的 PDB 符號檔案。

為了讓您產生成品,我們提供一些工具,例如使用模式比對進行複製,以及可在其中收集成品再發行成品的預備目錄。 請參閱 Azure Pipelines 中的成品

啟用持續整合 (CI)

  1. 選取 [觸發程序] 索引標籤。

  2. 啟用 持續整合

組建管線上的持續整合觸發程式表示每當認可程式碼變更時,系統應該自動將新組建排入佇列。 您可以讓觸發程式更一般或更具體,也可以排程建置 (,例如,以夜間為基礎) 。 請參閱 建置觸發程式

儲存並排入組建佇列

手動儲存並排入組建佇列,並測試您的組建管線。

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

  2. 在對話方塊中,再次選取 [ 儲存 & 佇列 ]。

    這會在 Microsoft 裝載的代理程式上排入新的組建佇列。

  3. 您會在頁面頂端看到新組建的連結。

    組建主控台

    選擇連結以監看新組建發生時。 配置代理程式之後,您就會開始看到組建的即時記錄。 請注意,PowerShell 腳本會在組建中執行,並將 「Hello world」 列印到主控台。

    在組建主控台中監看

  4. 移至組建摘要。 請注意,在組建的 [ 成品] 索引 標籤上,腳本會發佈為成品。

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

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

  2. 在對話方塊中,再次選取 [ 儲存 & 佇列 ]。

    這會在 Microsoft 裝載的代理程式上排入新的組建佇列。

  3. 您會在頁面頂端看到新組建的連結。

    移至組建主控台

    選擇連結以監看新組建發生時。 配置代理程式之後,您就會開始看到組建的即時記錄。 請注意,PowerShell 腳本會在組建中執行,並將 「Hello world」 列印到主控台。


  1. 移至組建摘要。

    組建主控台連結至組建摘要

  2. 請注意,在組建的 [ 成品] 索引 標籤上,腳本會發佈為成品。

    成品總管

您可以流覽至Azure Pipelines中的 [組建] 索引標籤,隨時檢視所有組建的摘要,或鑽研每個組建的記錄。 針對每個組建,您也可以檢視已建置的認可清單,以及與每個認可相關聯的工作專案。 您也可以在每個組建中執行測試,並分析測試失敗。

新增一些變數,並將變更認可至您的腳本

我們會將一些建置變數傳遞至腳本,讓管線更有趣。 然後,我們會認可對腳本的變更,並自動監看 CI 管線執行以驗證變更。

  1. 編輯您的組建管線。

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

  3. 新增這些引數。

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

引數

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

最後,儲存組建管線。

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

  1. 移至您在上一導覽和TFS) 中,Azure Repos (程式代碼中樞的檔案。

  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 腳本記錄

組建摘要 powershell 腳本記錄

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

您有組建管線。 後續步驟?

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

建立發行管線

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

  1. 移至 [ 管線] 索引標籤 ,然後選取 [ 發行]。

  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. 將複製的階段重新命名為 Production

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

    重新命名發行管線 hello world

  16. 儲存發行管線。

  1. 移至 [ 建置和發行 ] 索引標籤,然後選取 [ 發行]。

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

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

  4. 將階段命名為 QA

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

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


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

  2. 選取加號 ( + ) ,讓作業將工作新增至作業。

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

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

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

  6. 新增這些 引數

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

    複製發行環境

  8. 將複製的階段重新命名為 Production

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

    重新命名發行管線

  10. 儲存發行管線。

發行管線是部署應用程式組建成品的階段集合。 它也會定義每個階段的實際部署管線,以及如何將成品從某個階段升階到另一個階段。

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

部署版本

在每個階段中執行腳本。

  1. 建立新版本。

    建立版本 - DevOps 2019 和 2020

    當 [ 建立新版本 ] 出現時,選取 [ 建立]。

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

    已建立版本 - DevOps 2019 和 2020

  3. 檢視記錄以取得有關發行的即時資料。

    發行記錄 - DevOps 2019 和 2020

  1. 建立新版本。

    建立版本 - TFS 2018

    當 [ 建立新版本 ] 出現時,請選取 [ 建立 (TFS 2018.2) ] 或 [ 佇列 ] ([TFS 2018 RTM) ]。

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

    發行已建立 - TFS 2018

  3. 檢視記錄以取得有關發行的即時資料。

    發行記錄 - TFS 2018

您可以追蹤每個版本的進度,以查看是否已部署到所有階段。 您可以追蹤屬於每個版本一部分的認可、相關聯的工作專案,以及您已新增至發行管線的任何測試回合結果。

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

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

  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

發行腳本步驟最終記錄 - - TFS 2018

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

後續步驟

您剛瞭解如何在 Azure 中建立您的第一個管線。 深入瞭解以您選擇的語言設定管線:

或者,您可以繼續自訂您剛才建立 的管線

若要在容器中執行管線,請參閱 容器作業

如需建置 GitHub 存放庫的詳細資訊,請參閱 建置 GitHub 存放庫

若要瞭解如何發佈 管線成品,請參閱發佈管線成品

若要瞭解您可以在 YAML 管線中執行的其他動作,請參閱 YAML 架構參考

清除

如果您已建立任何測試管線,當您完成測試管線時,這些管線很容易刪除。

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

刪除管線

您已瞭解建立和執行管線的基本概念。 現在您已準備好為所使用的程式設計語言設定組建管線。 繼續進行並建立新的組建管線,這次,請使用下列其中一個範本。

Language 要使用的範本
.NET ASP.NET
.NET Core ASP.NET Core
C++ .NET 桌面
Go Go
Java Gradle
JavaScript Node.js
Xcode Xcode

常見問題集

我可以在哪裡閱讀 DevOps 和 CI/CD 的相關文章?

什麼是持續整合?

什麼是持續傳遞?

什麼是 DevOps?\(英文\)

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

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

如何?複寫管線嗎?

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

all-definitions-build-action-menu-replicate-actions

顯示如何複寫管線的螢幕擷取畫面。

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

匯出管線之後,您可以從 [ 所有管線] 索引 標籤匯入該管線。

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

提示

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

如何?使用草稿嗎?

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

另存新檔草稿

顯示儲存為草稿的螢幕擷取畫面。

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

編輯草稿 - DevOps 2019 和 2020

準備好時,您可以發佈草稿,將變更合併至組建管線。

發佈草稿 - DevOps 2019 和 2020

發行草稿 - TFS 2018

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

如何刪除管線?

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

當我將組建排入佇列時,可以怎麼做?

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

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

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

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

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

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

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

如何?以程式設計方式建立組建管線?

REST API 參考:建立組建管線

注意

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