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:
- Á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
: . - 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 |