Megosztás a következőn keresztül:


PublishSymbols@2 – Források indexelése és szimbólumok közzététele v2 feladat

Ezzel a feladatsal indexelheti a forráskódot, és közzéteheti a szimbólumokat egy fájlmegosztásban vagy az Azure Artifacts szimbólumkiszolgálón.

A forráskód indexelése lehetővé teszi a szimbólumfájlok használatát az alkalmazás hibakereséséhez az alkalmazás létrehozásához használttól eltérő gépen. Például hibakeresést végezhet egy buildügynök által létrehozott alkalmazáson egy olyan fejlesztői gépről, amely nem rendelkezik a forráskóddal.

A szimbólumkiszolgálók lehetővé teszik, hogy a hibakereső automatikusan lekérje a megfelelő szimbólumfájlokat a terméknevek, a buildszámok vagy a csomagnevek ismerete nélkül.

Syntax

# Index sources and publish symbols v2
# Index your source code and publish symbols to a file share or Azure Artifacts symbol server.
- task: PublishSymbols@2
  inputs:
    #SymbolsFolder: '$(Build.SourcesDirectory)' # string. Path to symbols folder. Default: $(Build.SourcesDirectory).
    SearchPattern: '**/bin/**/*.pdb' # string. Required. Search pattern. Default: **/bin/**/*.pdb.
    #IndexSources: true # boolean. Index sources. Default: true.
    #PublishSymbols: true # boolean. Publish symbols. Default: true.
    SymbolServerType: # 'TeamServices' | 'FileShare'. Required when PublishSymbols = true. Symbol server type. 
    #SymbolsPath: # string. Optional. Use when PublishSymbols = true && SymbolServerType = FileShare. Path to publish symbols. 
    #CompressSymbols: false # boolean. Optional. Use when SymbolServerType = FileShare. Compress symbols. Default: false.
    #SymbolExpirationInDays: '36530' # string. Optional. Use when PublishSymbols = true && SymbolServerType = TeamServices. Symbol Expiration (in days). Default: 36530.
  # Advanced
    #IndexableFileFormats: 'Default' # 'Default' | 'Pdb' | 'SourceMap' | 'All'. Optional. Use when PublishSymbols = true && SymbolServerType = TeamServices. Symbol file formats to publish. Default: Default.
    #DetailedLog: true # boolean. Verbose logging. Default: true.
    #TreatNotIndexedAsWarning: false # boolean. Warn if not indexed. Default: false.
    #UseNetCoreClientTool: false # boolean. Use NetCore client tool. Default: false.
    #SymbolsMaximumWaitTime: # string. Max wait time (min). 
    #SymbolsProduct: # string. Product. 
    #SymbolsVersion: # string. Version. 
    #SymbolsArtifactName: 'Symbols_$(BuildConfiguration)' # string. Artifact name. Default: Symbols_$(BuildConfiguration).
# Index sources and publish symbols v2
# Index your source code and publish symbols to a file share or Azure Artifacts symbol server.
- task: PublishSymbols@2
  inputs:
    #SymbolsFolder: '$(Build.SourcesDirectory)' # string. Path to symbols folder. Default: $(Build.SourcesDirectory).
    SearchPattern: '**/bin/**/*.pdb' # string. Required. Search pattern. Default: **/bin/**/*.pdb.
    #IndexSources: true # boolean. Index sources. Default: true.
    #PublishSymbols: true # boolean. Publish symbols. Default: true.
    SymbolServerType: # 'TeamServices' | 'FileShare'. Required when PublishSymbols = true. Symbol server type. 
    #SymbolsPath: # string. Optional. Use when PublishSymbols = true && SymbolServerType = FileShare. Path to publish symbols. 
    #CompressSymbols: false # boolean. Optional. Use when SymbolServerType = FileShare. Compress symbols. Default: false.
  # Advanced
    #DetailedLog: true # boolean. Verbose logging. Default: true.
    #TreatNotIndexedAsWarning: false # boolean. Warn if not indexed. Default: false.
    #SymbolsMaximumWaitTime: # string. Max wait time (min). 
    #SymbolsProduct: # string. Product. 
    #SymbolsVersion: # string. Version. 
    #SymbolsArtifactName: 'Symbols_$(BuildConfiguration)' # string. Artifact name. Default: Symbols_$(BuildConfiguration).
# Index sources and publish symbols v2
# Index your source code and publish symbols to a file share or Azure Artifacts Symbol Server.
- task: PublishSymbols@2
  inputs:
    #SymbolsFolder: '$(Build.SourcesDirectory)' # string. Path to symbols folder. Default: $(Build.SourcesDirectory).
    SearchPattern: '**/bin/**/*.pdb' # string. Required. Search pattern. Default: **/bin/**/*.pdb.
    #IndexSources: true # boolean. Index sources. Default: true.
    #PublishSymbols: true # boolean. Publish symbols. Default: true.
    SymbolServerType: # 'TeamServices' | 'FileShare'. Required when PublishSymbols = true. Symbol server type. 
    #SymbolsPath: # string. Optional. Use when PublishSymbols = true && SymbolServerType = FileShare. Path to publish symbols. 
    #CompressSymbols: false # boolean. Optional. Use when SymbolServerType = FileShare. Compress symbols. Default: false.
  # Advanced
    #DetailedLog: true # boolean. Verbose logging. Default: true.
    #TreatNotIndexedAsWarning: false # boolean. Warn if not indexed. Default: false.
    #SymbolsMaximumWaitTime: # string. Max wait time (min). 
    #SymbolsProduct: # string. Product. 
    #SymbolsVersion: # string. Version. 
    #SymbolsArtifactName: 'Symbols_$(BuildConfiguration)' # string. Artifact name. Default: Symbols_$(BuildConfiguration).

Bevitelek

SymbolsFolder - A szimbólumok mappa elérési útja
string. Alapértelmezett érték: $(Build.SourcesDirectory).

A szimbólumfájlokkal keresett mappa elérési útját adja meg. A mező alapértelmezett értéke: $(Build.SourcesDirectory). Ellenkező esetben adjon meg egy gyökerező elérési utat, például $(Build.BinariesDirectory)/MyProject: .

Megjegyzés

Az UNC-elérési utak nem támogatottak, ha kiszolgálótípusként az Azure Artifacts szimbólumkiszolgálót választja.


SearchPattern - Keresés minta
string. Kötelező. Alapértelmezett érték: **/bin/**/*.pdb.

Meghatározza a közzéteendő PDB-fájlok felderítéséhez használt mintát. További információ: Fájlegyeztetési minták referenciája .


IndexSources - Indexforrások
boolean. Alapértelmezett érték: true.

Meghatározza, hogy a forráskiszolgáló adatait a PDB-fájlokba kell-e beszúrni. Ez a beállítás csak Windows-ügynökök esetén támogatott.


PublishSymbols - Szimbólumok közzététele
boolean. Alapértelmezett érték: true.

Meghatározza, hogy közzé kell-e tenni a szimbólumfájlokat.


SymbolServerType - Szimbólumkiszolgáló típusa
string. Akkor szükséges, ha PublishSymbols = true. Engedélyezett értékek: TeamServices (Szimbólumkiszolgáló ebben a szervezetben/gyűjteményben (Azure-összetevőket igényel)) FileShare (Fájlmegosztás).

Itt adhatja meg a szimbólumok közzétételének helyét. Az Azure Artifacts szimbólumkiszolgálón közzétett szimbólumokat minden olyan felhasználó elérheti, aki hozzáfér a szervezethez/gyűjteményhez. Azure DevOps Server csak a File share lehetőséget támogatja. Tekintse meg a Szimbólumok közzététele az Azure Artifactsben a Symbol Server használatával kapcsolatos hibakeresési útmutatót.


SymbolsPath - Szimbólumok közzétételének elérési útja
string. Választható. Használja a következőt: PublishSymbols = true && SymbolServerType = FileShare.

Meghatározza a szimbólumokat tartalmazó fájlmegosztást. Ez az érték lesz a hívásban symstore.exe add paraméterként /s használva. A SymStore szimbólumtároló előkészítése:

  1. Állítson be egy mappát egy fájlmegosztó kiszolgálón a szimbólumok tárolásához. Például állítsa be a következőt \fabrikam-share\symbols: .
  2. Adjon teljes körű vezérlési engedélyt a buildügynök szolgáltatásfiókjának.

Ha ezt az argumentumot üresen hagyja, a szimbólumok forrásindexelve lesznek, de nem lesznek közzétéve. A szimbólumokat a cseppekkel is tárolhatja. Lásd: Buildösszetevők közzététele.


CompressSymbols - Szimbólumok tömörítése
boolean. Választható. Használja a következőt: SymbolServerType = FileShare. Alapértelmezett érték: false.

Tömöríti a szimbólumokat a fájlmegosztásban való közzétételkor.


SymbolExpirationInDays - Szimbólum lejárata (napokban)
string. Választható. Használja a következőt: PublishSymbols = true && SymbolServerType = TeamServices. Alapértelmezett érték: 36530.

A szimbólumok megőrzésének napjainak számát adja meg.


IndexableFileFormats - Közzéteendő szimbólumfájl-formátumok
string. Választható. Használja a következőt: PublishSymbols = true && SymbolServerType = TeamServices. Engedélyezett értékek: Default (A feltöltendő szimbólumok alapértelmezett készlete), Pdb (Csak a Pdb-alapú szimbólumok Windows pdb-jei és a felügyelt hordozható pdf-fájlok. ) SourceMap (Csak JavaScript-alapú forrástérkép-szimbólumok (*.js.map)) All (Minden támogatott szimbólumformátum). Alapértelmezett érték: Default.

Meghatározza, hogy mely hibakeresési formátumokat tegye közzé a szimbólumkiszolgálón.


DetailedLog - Részletes naplózás
boolean. Alapértelmezett érték: true.

Részletes naplózást ad meg.


TreatNotIndexedAsWarning - Figyelmeztetés, ha nem indexelt
boolean. Alapértelmezett érték: false.

Megadja, hogy figyelmeztetni kell-e, ha a források nincsenek indexelve EGY PDB-fájlhoz. Ellenkező esetben a rendszer normál kimenetként naplózza az üzeneteket.


UseNetCoreClientTool - NetCore-ügyféleszköz használata
boolean. Alapértelmezett érték: false.

Meghatározza, hogy a szimbólumfeltöltési eszköz olyan verzióját használja-e, amely támogatja a TÖRPE- és ELF-fájlokat. Ez a beállítás csak a Windows-ügynökök esetében számít. Nem Windows-ügynökök esetén a rendszer mindig a TÖRPE és ELF fájlokat támogató szimbólumfeltöltési eszköz verzióját használja.


SymbolsMaximumWaitTime - Maximális várakozási idő (perc)
string.

Megadja, hogy hány percet várjon a feladat meghiúsulása előtt.


SymbolsProduct - Termék
string.

A termékparamétert adja meg a értékre symstore.exe. A mező alapértelmezett értéke: $(Build.DefinitionName).


SymbolsVersion - Változat
string.

A verzióparamétert adja meg a következőhöz: symstore.exe. A mező alapértelmezett értéke: $(Build.BuildNumber).


SymbolsArtifactName - Összetevő neve
string. Alapértelmezett érték: Symbols_$(BuildConfiguration).

Megadja a szimbólumok összetevőjéhez használandó összetevő nevét. Ezt csak a FileShare szimbólumkiszolgáló típusával szabad használni. A mező alapértelmezett értéke: Symbols_$(BuildConfiguration).


Feladatvezérlési lehetőségek

Minden feladathoz tartoznak vezérlési lehetőségek is a feladat bemenetei mellett. További információ: Vezérlési beállítások és gyakori feladattulajdonságok.

Kimeneti változók

Nincsenek.

Megjegyzések

Ezzel a feladatsal indexelheti a forráskódot, és közzéteheti a szimbólumokat egy fájlmegosztásban vagy az Azure Artifacts szimbólumkiszolgálón.

A forráskód indexelése lehetővé teszi a szimbólumfájlok használatát az alkalmazás hibakereséséhez az alkalmazás létrehozásához használttól eltérő gépen. Például hibakeresést végezhet egy buildügynök által létrehozott alkalmazáson egy olyan fejlesztői gépről, amely nem rendelkezik a forráskóddal.

A szimbólumkiszolgálók lehetővé teszik, hogy a hibakereső automatikusan lekérje a megfelelő szimbólumfájlokat a terméknevek, a buildszámok vagy a csomagnevek ismerete nélkül.

Fontos

Az Indexforrások & Szimbólumok közzététele feladattal közzétett szimbólumok törléséhez először törölnie kell a szimbólumokat létrehozó buildet. Ez adatmegőrzési szabályzatok használatával vagy a futtatás manuális törlésével valósítható meg.

Hogyan működik az indexelés?

A források indexelésével egy további szakasz lesz beszúrva a PDB-fájlokba. A PDB-fájlok általában csak a helyi forrásfájl elérési útjára mutató hivatkozásokat tartalmaznak, például: C:\BuildAgent_work\1\src\MyApp\Program.cs. A PDB-fájlba beszúrt extra szakasz a hibakeresők leképezési utasításait tartalmazza. A leképezési információk azt jelzik, hogyan lehet lekérni az egyes helyi elérési utaknak megfelelő kiszolgálóelemet.

A Visual Studio hibakeresője a leképezési adatok használatával fogja lekérni a forrásfájlt a kiszolgálóról. A forrásfájl lekérésére vonatkozó tényleges parancs szerepel a leképezési információk között. Példa:

tf.exe git view /collection:http://SERVER:8080/tfs/DefaultCollection /teamproject:"93fc2e4d-0f0f-4e40-9825-01326191395d" /repository:"647ed0e6-43d2-4e3d-b8bf-2885476e9c44" /commitId:3a9910862e22f442cd56ff280b43dd544d1ee8c9 /path:"/MyApp/Program.cs" /output:"C:\Users\username\AppData\Local\SOURCE~1\TFS_COMMIT\3a991086\MyApp\Program.cs" /applyfilters

Használhatok forrásindexelést egy .NET Core-szerelvényből létrehozott hordozható PDB-n?

Nem, de használhatja helyette a Forráshivatkozást .

Mennyi ideig őrzi meg a szimbólumokat?

A szimbólumok az Azure Pipelinesban közzétett buildhez vannak társítva, amelyek egy buildhez vannak társítva. A build manuális vagy adatmegőrzési szabályzatok használatával történő törlésekor a szimbólumok is törlődnek. Ha a szimbólumokat határozatlan ideig szeretné megőrizni, a buildet határozatlan ideig meg kell őriznie.

Követelmények

Követelmény Leírás
Folyamattípusok YAML, klasszikus build
Futtatás Ügynök, DeploymentGroup
Igények None
Képességek Ez a feladat nem felel meg a feladat későbbi tevékenységeire vonatkozó követelményeknek.
Parancskorlátozások Bármelyik
Változók beállítása Bármelyik
Ügynök verziója 2.144.0 vagy újabb
Feladatkategória Build
Követelmény Leírás
Folyamattípusok YAML, klasszikus build
Futtatás Ügynök, DeploymentGroup
Igények None
Képességek Ez a feladat nem felel meg a feladat későbbi tevékenységeire vonatkozó követelményeknek.
Parancskorlátozások Bármelyik
Változók beállítása Bármelyik
Ügynök verziója 1.95.0 vagy újabb
Feladatkategória Build

Lásd még