使用 Azure Pipelines 發佈符號

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

使用 Azure Pipelines,您可以使用索引來源和發佈符號工作,將符號發佈至 Azure Artifacts 符號伺服器。 您可以使用調試程式來連線並自動擷取正確的符號檔,而不知道產品名稱、組建編號或套件名稱。 使用 Azure Pipelines,您也可以將符號發佈至檔案共用和可攜式 PDB。

將符號發佈至 Azure Artifacts 符號伺服器

  1. 登入您的 Azure DevOps 組織,然後瀏覽至您的專案。

  2. 選取 [管線]、選取您的管線,然後選取 [ 編輯 ] 以修改管線。

  3. 從管線定義中,選取 + 以新增工作。

  4. 搜尋 索引來源和發佈符號工作 。 選取 [新增 ] 將它新增至管線。

  5. 填寫必要的欄位,如下所示:

    • 工作版本2.\*。

    • 顯示名稱:工作顯示名稱。

    • 符號資料夾的路徑:裝載符號檔案之資料夾的路徑。

    • 搜尋模式:用來在 [符號路徑] 資料夾指定之資料夾中尋找 .pdb 檔案的模式。 支援單一資料夾通配符 (*) 和遞迴通配符 (**) 。 範例:*\bin*.pdb:將會搜尋所有名為 bin 的子目錄中的所有 .pdb 檔案。

    • 索引來源:指出是否要將來源伺服器資訊插入 PDB 檔案中。

    • 發佈符號:指出是否發佈符號檔。

      • 符號伺服器類型:選取 此組織/集合中的符號伺服器(需要 Azure Artifacts) 將您的符號發佈至 Azure Artifacts 符號伺服器。
    • 詳細信息記錄:在您的記錄中包含詳細資訊。

此螢幕快照顯示如何設定索引來源和發佈符號工作,以將符號發佈至 Azure Artifacts 符號伺服器。

將符號發佈至檔案共用

除了 Azure Artifacts 符號伺服器之外,您也可以使用 索引來源和發布符號 工作,將符號發佈至檔案共用。

  1. 登入您的 Azure DevOps 組織,然後瀏覽至您的專案。

  2. 選取 [管線]、選取您的管線,然後選取 [ 編輯 ] 以修改管線。

  3. 從管線定義中,選取 + 以新增工作。

  4. 搜尋 索引來源和發佈符號工作 。 選取 [新增 ] 將它新增至管線。

  5. 填寫必要的欄位,如下所示:

    • 工作版本2.\*。

    • 顯示名稱:工作顯示名稱。

    • 符號資料夾的路徑:裝載符號檔案之資料夾的路徑。

    • 搜尋模式:用來在 [符號路徑] 資料夾指定之資料夾中尋找 .pdb 檔案的模式。

    • 索引來源:指出是否要將來源伺服器資訊插入 PDB 檔案中。

    • 發佈符號:指出是否發佈符號檔。

      • 符號伺服器類型:選取 [ 檔案分享 ] 將符號發佈至檔案共用。
      • 發佈符號的路徑:將裝載符號的檔案共用。
    • 詳細資訊記錄:檢查以在您的記錄中包含詳細資訊。

    顯示如何設定索引來源和發佈符號工作以將符號發佈至檔案共享的螢幕快照。

將可攜式 PDB 發佈至 Azure Artifacts 符號伺服器

可攜式 PDB 是可在所有平臺上建立及使用的符號檔,與只在 Windows 上使用的傳統 PDB 不同。 針對可攜式 PDB,組建會執行編製索引,但您仍然需要使用 索引來源和發佈符號 工作來發佈符號。

Source Link 是一組工具,可讓開發人員從 .NET 元件對應回原始程式碼,以偵錯其原始程式碼。 請查看 dotnet/sourcelink GitHub 存放庫,以瞭解包含的不同套件。

  • 針對裝載在 GitHub 上的專案,請將套件參考新增 Microsoft.SourceLink.GitHub 至您的項目檔。

    <ItemGroup>
      <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All"/>
    </ItemGroup>
    
  • 針對裝載於 Azure Repos 的專案(先前的 Visual Studio Team Services),請將套件參考新增 Microsoft.SourceLink.AzureRepos.Git 至您的項目檔。

    <ItemGroup>
      <PackageReference Include="Microsoft.SourceLink.AzureRepos.Git" Version="1.1.1" PrivateAssets="All"/>
    </ItemGroup>
    
  • 針對裝載於 Azure DevOps Server(前 Team Foundation Server)的專案,請將套件參考新增 Microsoft.SourceLink.AzureDevOpsServer.Git 至您的項目檔。

    <ItemGroup>
      <PackageReference Include="Microsoft.SourceLink.AzureDevOpsServer.Git" Version="1.1.1" PrivateAssets="All"/>
    </ItemGroup>
    

設定發佈工作

索引來源和發佈符號工作是用來編製原始程式碼的索引,並將符號發佈至 Azure Artifacts 符號伺服器和檔案共用。 因為我們使用 來源連結,因此我們必須 在發佈工作中停用索引 編製。

  1. 登入您的 Azure DevOps 組織,然後瀏覽至您的專案。

  2. 選取 [管線]、選取您的管線,然後選取 [ 編輯 ] 以修改管線。

  3. 從管線定義中,選取 + 以新增工作。

  4. 搜尋 索引來源和發佈符號工作 。 選取 [新增 ] 將它新增至管線。

  5. 填寫必要的欄位,然後針對符號伺服器類型選取 [符號伺服器]。 請確定取消核取 [索引來源 ] 以停用索引編製。

    顯示如何將發佈工作設定為將可攜式 PDB 發佈至 Azure Artifacts 符號伺服器的螢幕快照。

重要

若要刪除透過 索引來源和發佈符號 工作發佈的符號,您必須先刪除產生這些符號的組建。 這可以透過使用 保留原則 或手動 刪除執行來完成。

設定 Visual Studio

注意

Visual Studio for Mac 不支援使用符號伺服器進行偵錯。

開始從 Azure Artifacts 符號伺服器取用符號之前,讓我們確定 Visual Studio 已正確設定:

  1. 在 Visual Studio 中,選取 [工具],然後選取 [選項]。

  2. 從 [偵錯] 功能選取 [符號]。

  3. 選取符號 + 以新增符號伺服器位置。

    顯示如何新增符號伺服器位置的螢幕快照。

  4. 隨即會出現新的對話框,從下拉功能表中選取您的帳戶,然後選取您想要連線的組織。 完成時,請選取 [連線]。

  5. 從相同的 [偵錯] 區段中選取 [一般]。 向下卷動並核取 [啟用來源鏈接支援 ] 以啟用可攜式 PDB 的支援。

    顯示如何在 Visual Studio 中啟用來源連結支援的螢幕快照。

注意

核取 [ 啟用來源伺服器支援 ] 選項可讓您在原始程式碼無法在本機使用或符號檔不符合原始程式碼的情況下使用 來源伺服器 。 如果您想要啟用第三方原始程式碼的偵錯,請取消選取 [ 啟用 Just My Code] 複選框。

常見問題集

問:保留哪些符號的持續時間為何?

答:符號檔的保留期間與產生它的組建相同。 當您手動或使用保留原則刪除組建時,也會刪除該組建所產生的符號。

問:我可以在從 .NET Core 元件產生的可攜式 PDB 上使用來源索引嗎?

答:目前不可能這樣做。 目前不支援可攜式 PDB 的來源索引編製。 建議的方法是設定組建以執行索引編製。