DotNetCoreCLI@2 — zadanie platformy .NET Core w wersji 2
Skompiluj, przetestuj, spakuj lub opublikuj aplikację dotnet albo uruchom niestandardowe polecenie dotnet.
Skompiluj, przetestuj, spakuj lub opublikuj aplikację dotnet albo uruchom niestandardowe polecenie dotnet. W przypadku poleceń pakietu obsługuje NuGet.org i uwierzytelnione kanały informacyjne, takie jak zarządzanie pakietami i MyGet.
Ważne
Zadanie uwierzytelniania NuGet to nowy zalecany sposób uwierzytelniania za pomocą usługi Azure Artifacts i innych repozytoriów NuGet. Polecenia restore
i push
tego zadania interfejsu wiersza polecenia platformy .NET Core nie zajmują już nowych funkcji i są rozwiązywane tylko krytyczne usterki. Zobacz uwagi, aby uzyskać szczegółowe informacje.
Składnia
# .NET Core v2
# Build, test, package, or publish a dotnet application, or run a custom dotnet command.
- task: DotNetCoreCLI@2
inputs:
command: 'build' # 'build' | 'push' | 'pack' | 'publish' | 'restore' | 'run' | 'test' | 'custom'. Required. Command. Default: build.
#publishWebProjects: true # boolean. Optional. Use when command = publish. Publish web projects. Default: true.
#projects: # string. Optional. Use when command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false. Path to project(s) or solution(s).
#custom: # string. Required when command = custom. Custom command.
#arguments: # string. Optional. Use when command = build || command = publish || command = run || command = test || command = custom. Arguments.
#restoreArguments: # string. Optional. Use when command = restore. Arguments.
#publishTestResults: true # boolean. Optional. Use when command = test. Publish test results and code coverage. Default: true.
#testRunTitle: # string. Optional. Use when command = test. Test run title.
#zipAfterPublish: true # boolean. Optional. Use when command = publish. Zip published projects. Default: true.
#modifyOutputPath: true # boolean. Optional. Use when command = publish. Add project's folder name to publish path. Default: true.
#packagesToPush: '$(Build.ArtifactStagingDirectory)/*.nupkg' # string. Alias: searchPatternPush. Required when command = push. Path to NuGet package(s) to publish. Default: $(Build.ArtifactStagingDirectory)/*.nupkg.
#nuGetFeedType: 'internal' # 'internal' | 'external'. Required when command = push. Target feed location. Default: internal.
#publishVstsFeed: # string. Alias: feedPublish. Required when command = push && nuGetFeedType = internal. Target feed.
#publishFeedCredentials: # string. Alias: externalEndpoint. Required when command = push && nuGetFeedType = external. NuGet server.
#packagesToPack: '**/*.csproj' # string. Alias: searchPatternPack. Required when command = pack. Path to csproj or nuspec file(s) to pack. Default: **/*.csproj.
#configuration: '$(BuildConfiguration)' # string. Alias: configurationToPack. Optional. Use when command = pack. Configuration to Package. Default: $(BuildConfiguration).
#packDirectory: '$(Build.ArtifactStagingDirectory)' # string. Alias: outputDir. Optional. Use when command = pack. Package Folder. Default: $(Build.ArtifactStagingDirectory).
#nobuild: false # boolean. Optional. Use when command = pack. Do not build. Default: false.
#includesymbols: false # boolean. Optional. Use when command = pack. Include Symbols. Default: false.
#includesource: false # boolean. Optional. Use when command = pack. Include Source. Default: false.
# Feeds and authentication
#feedsToUse: 'select' # 'select' | 'config'. Alias: selectOrConfig. Required when command = restore. Feeds to use. Default: select.
#vstsFeed: # string. Alias: feedRestore. Optional. Use when selectOrConfig = select && command = restore. Use packages from this Azure Artifacts feed.
#includeNuGetOrg: true # boolean. Optional. Use when selectOrConfig = select && command = restore. Use packages from NuGet.org. Default: true.
#nugetConfigPath: # string. Optional. Use when selectOrConfig = config && command = restore. Path to NuGet.config.
#externalFeedCredentials: # string. Alias: externalEndpoints. Optional. Use when selectOrConfig = config && command = restore. Credentials for feeds outside this organization/collection.
# Advanced
#noCache: false # boolean. Optional. Use when command = restore. Disable local cache. Default: false.
#restoreDirectory: # string. Alias: packagesDirectory. Optional. Use when command = restore. Destination directory.
#verbosityRestore: 'Detailed' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Optional. Use when command = restore. Verbosity. Default: Detailed.
# Advanced
#publishPackageMetadata: true # boolean. Optional. Use when command = push && nuGetFeedType = internal && command = push. Publish pipeline metadata. Default: true.
# Pack options
#versioningScheme: 'off' # 'off' | 'byPrereleaseNumber' | 'byEnvVar' | 'byBuildNumber'. Required when command = pack. Automatic package versioning. Default: off.
#versionEnvVar: # string. Required when versioningScheme = byEnvVar && command = pack. Environment variable.
#majorVersion: '1' # string. Alias: requestedMajorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Major. Default: 1.
#minorVersion: '0' # string. Alias: requestedMinorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Minor. Default: 0.
#patchVersion: '0' # string. Alias: requestedPatchVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Patch. Default: 0.
# Advanced
#buildProperties: # string. Optional. Use when command = pack. Additional build properties.
#verbosityPack: 'Detailed' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Optional. Use when command = pack. Verbosity. Default: Detailed.
# Advanced
#workingDirectory: # string. Optional. Use when command != restore && command != push && command != pack && command != pack && command != push && command != restore. Working directory.
# .NET Core v2
# Build, test, package, or publish a dotnet application, or run a custom dotnet command.
- task: DotNetCoreCLI@2
inputs:
command: 'build' # 'build' | 'push' | 'pack' | 'publish' | 'restore' | 'run' | 'test' | 'custom'. Required. Command. Default: build.
#publishWebProjects: true # boolean. Optional. Use when command = publish. Publish web projects. Default: true.
#projects: # string. Optional. Use when command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false. Path to project(s).
#custom: # string. Required when command = custom. Custom command.
#arguments: # string. Optional. Use when command = build || command = publish || command = run || command = test || command = custom. Arguments.
#restoreArguments: # string. Optional. Use when command = restore. Arguments.
#publishTestResults: true # boolean. Optional. Use when command = test. Publish test results and code coverage. Default: true.
#testRunTitle: # string. Optional. Use when command = test. Test run title.
#zipAfterPublish: true # boolean. Optional. Use when command = publish. Zip published projects. Default: true.
#modifyOutputPath: true # boolean. Optional. Use when command = publish. Add project's folder name to publish path. Default: true.
#packagesToPush: '$(Build.ArtifactStagingDirectory)/*.nupkg' # string. Alias: searchPatternPush. Required when command = push. Path to NuGet package(s) to publish. Default: $(Build.ArtifactStagingDirectory)/*.nupkg.
#nuGetFeedType: 'internal' # 'internal' | 'external'. Required when command = push. Target feed location. Default: internal.
#publishVstsFeed: # string. Alias: feedPublish. Required when command = push && nuGetFeedType = internal. Target feed.
#publishFeedCredentials: # string. Alias: externalEndpoint. Required when command = push && nuGetFeedType = external. NuGet server.
#packagesToPack: '**/*.csproj' # string. Alias: searchPatternPack. Required when command = pack. Path to csproj or nuspec file(s) to pack. Default: **/*.csproj.
#configuration: '$(BuildConfiguration)' # string. Alias: configurationToPack. Optional. Use when command = pack. Configuration to Package. Default: $(BuildConfiguration).
#packDirectory: '$(Build.ArtifactStagingDirectory)' # string. Alias: outputDir. Optional. Use when command = pack. Package Folder. Default: $(Build.ArtifactStagingDirectory).
#nobuild: false # boolean. Optional. Use when command = pack. Do not build. Default: false.
#includesymbols: false # boolean. Optional. Use when command = pack. Include Symbols. Default: false.
#includesource: false # boolean. Optional. Use when command = pack. Include Source. Default: false.
# Feeds and authentication
#feedsToUse: 'select' # 'select' | 'config'. Alias: selectOrConfig. Required when command = restore. Feeds to use. Default: select.
#vstsFeed: # string. Alias: feedRestore. Optional. Use when selectOrConfig = select && command = restore. Use packages from this Azure Artifacts feed.
#includeNuGetOrg: true # boolean. Optional. Use when selectOrConfig = select && command = restore. Use packages from NuGet.org. Default: true.
#nugetConfigPath: # string. Optional. Use when selectOrConfig = config && command = restore. Path to NuGet.config.
#externalFeedCredentials: # string. Alias: externalEndpoints. Optional. Use when selectOrConfig = config && command = restore. Credentials for feeds outside this organization/collection.
# Advanced
#noCache: false # boolean. Optional. Use when command = restore. Disable local cache. Default: false.
#restoreDirectory: # string. Alias: packagesDirectory. Optional. Use when command = restore. Destination directory.
#verbosityRestore: 'Detailed' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Optional. Use when command = restore. Verbosity. Default: Detailed.
# Advanced
#publishPackageMetadata: true # boolean. Optional. Use when command = push && nuGetFeedType = internal && command = push. Publish pipeline metadata. Default: true.
# Pack options
#versioningScheme: 'off' # 'off' | 'byPrereleaseNumber' | 'byEnvVar' | 'byBuildNumber'. Required when command = pack. Automatic package versioning. Default: off.
#versionEnvVar: # string. Required when versioningScheme = byEnvVar && command = pack. Environment variable.
#majorVersion: '1' # string. Alias: requestedMajorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Major. Default: 1.
#minorVersion: '0' # string. Alias: requestedMinorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Minor. Default: 0.
#patchVersion: '0' # string. Alias: requestedPatchVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Patch. Default: 0.
# Advanced
#buildProperties: # string. Optional. Use when command = pack. Additional build properties.
#verbosityPack: 'Detailed' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Optional. Use when command = pack. Verbosity. Default: Detailed.
# Advanced
#workingDirectory: # string. Optional. Use when command != restore && command != push && command != pack && command != pack && command != push && command != restore. Working directory.
# .NET Core v2
# Build, test, package, or publish a dotnet application, or run a custom dotnet command.
- task: DotNetCoreCLI@2
inputs:
command: 'build' # 'build' | 'push' | 'pack' | 'publish' | 'restore' | 'run' | 'test' | 'custom'. Required. Command. Default: build.
#publishWebProjects: true # boolean. Optional. Use when command = publish. Publish Web Projects. Default: true.
#projects: # string. Optional. Use when command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false. Path to project(s).
#custom: # string. Required when command = custom. Custom command.
#arguments: # string. Optional. Use when command = build || command = publish || command = run || command = test || command = custom. Arguments.
#publishTestResults: true # boolean. Optional. Use when command = test. Publish test results and code coverage. Default: true.
#testRunTitle: # string. Optional. Use when command = test. Test run title.
#zipAfterPublish: true # boolean. Optional. Use when command = publish. Zip Published Projects. Default: true.
#modifyOutputPath: true # boolean. Optional. Use when command = publish. Add project name to publish path. Default: true.
#packagesToPush: '$(Build.ArtifactStagingDirectory)/*.nupkg' # string. Alias: searchPatternPush. Required when command = push. Path to NuGet package(s) to publish. Default: $(Build.ArtifactStagingDirectory)/*.nupkg.
#nuGetFeedType: 'internal' # 'internal' | 'external'. Required when command = push. Target feed location. Default: internal.
#publishVstsFeed: # string. Alias: feedPublish. Required when command = push && nuGetFeedType = internal. Target feed.
#publishFeedCredentials: # string. Alias: externalEndpoint. Required when command = push && nuGetFeedType = external. NuGet server.
#packagesToPack: '**/*.csproj' # string. Alias: searchPatternPack. Required when command = pack. Path to csproj or nuspec file(s) to pack. Default: **/*.csproj.
#configuration: '$(BuildConfiguration)' # string. Alias: configurationToPack. Optional. Use when command = pack. Configuration to Package. Default: $(BuildConfiguration).
#packDirectory: '$(Build.ArtifactStagingDirectory)' # string. Alias: outputDir. Optional. Use when command = pack. Package Folder. Default: $(Build.ArtifactStagingDirectory).
#nobuild: false # boolean. Optional. Use when command = pack. Do not build. Default: false.
#includesymbols: false # boolean. Optional. Use when command = pack. Include Symbols. Default: false.
#includesource: false # boolean. Optional. Use when command = pack. Include Source. Default: false.
# Feeds and authentication
#feedsToUse: 'select' # 'select' | 'config'. Alias: selectOrConfig. Required when command = restore. Feeds to use. Default: select.
#vstsFeed: # string. Alias: feedRestore. Optional. Use when selectOrConfig = select && command = restore. Use packages from this Azure Artifacts feed.
#includeNuGetOrg: true # boolean. Optional. Use when selectOrConfig = select && command = restore. Use packages from NuGet.org. Default: true.
#nugetConfigPath: # string. Optional. Use when selectOrConfig = config && command = restore. Path to NuGet.config.
#externalFeedCredentials: # string. Alias: externalEndpoints. Optional. Use when selectOrConfig = config && command = restore. Credentials for feeds outside this organization/collection.
# Advanced
#noCache: false # boolean. Optional. Use when command = restore. Disable local cache. Default: false.
#restoreDirectory: # string. Alias: packagesDirectory. Optional. Use when command = restore. Destination directory.
#verbosityRestore: 'Detailed' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Optional. Use when command = restore. Verbosity. Default: Detailed.
# Advanced
#publishPackageMetadata: true # boolean. Optional. Use when command = push && nuGetFeedType = internal && command = push. Publish pipeline metadata. Default: true.
# Pack options
#versioningScheme: 'off' # 'off' | 'byPrereleaseNumber' | 'byEnvVar' | 'byBuildNumber'. Required when command = pack. Automatic package versioning. Default: off.
#versionEnvVar: # string. Required when versioningScheme = byEnvVar && command = pack. Environment variable.
#majorVersion: '1' # string. Alias: requestedMajorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Major. Default: 1.
#minorVersion: '0' # string. Alias: requestedMinorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Minor. Default: 0.
#patchVersion: '0' # string. Alias: requestedPatchVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Patch. Default: 0.
# Advanced
#buildProperties: # string. Optional. Use when command = pack. Additional build properties.
#verbosityPack: 'Detailed' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Optional. Use when command = pack. Verbosity. Default: Detailed.
# Advanced
#workingDirectory: # string. Optional. Use when command != pack && command != push && command != restore. Working Directory.
# .NET Core v2
# Build, test, package, or publish a dotnet application, or run a custom dotnet command. For package commands, supports NuGet.org and authenticated feeds like Package Management and MyGet.
- task: DotNetCoreCLI@2
inputs:
command: 'build' # 'build' | 'push' | 'pack' | 'publish' | 'restore' | 'run' | 'test' | 'custom'. Required. Command. Default: build.
#publishWebProjects: true # boolean. Optional. Use when command = publish. Publish Web Projects. Default: true.
#projects: # string. Optional. Use when command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false. Path to project(s).
#custom: # string. Required when command = custom. Custom command.
#arguments: # string. Optional. Use when command = build || command = publish || command = run || command = test || command = custom. Arguments.
#publishTestResults: true # boolean. Optional. Use when command = test. Publish test results and code coverage. Default: true.
#zipAfterPublish: true # boolean. Optional. Use when command = publish. Zip Published Projects. Default: true.
#modifyOutputPath: true # boolean. Optional. Use when command = publish. Add project name to publish path. Default: true.
#packagesToPush: '$(Build.ArtifactStagingDirectory)/*.nupkg' # string. Alias: searchPatternPush. Required when command = push. Path to NuGet package(s) to publish. Default: $(Build.ArtifactStagingDirectory)/*.nupkg.
#nuGetFeedType: 'internal' # 'internal' | 'external'. Required when command = push. Target feed location. Default: internal.
#publishVstsFeed: # string. Alias: feedPublish. Required when command = push && nuGetFeedType = internal. Target feed.
#publishFeedCredentials: # string. Alias: externalEndpoint. Required when command = push && nuGetFeedType = external. NuGet server.
#packagesToPack: '**/*.csproj' # string. Alias: searchPatternPack. Required when command = pack. Path to csproj or nuspec file(s) to pack. Default: **/*.csproj.
#configuration: '$(BuildConfiguration)' # string. Alias: configurationToPack. Optional. Use when command = pack. Configuration to Package. Default: $(BuildConfiguration).
#packDirectory: '$(Build.ArtifactStagingDirectory)' # string. Alias: outputDir. Optional. Use when command = pack. Package Folder. Default: $(Build.ArtifactStagingDirectory).
#nobuild: false # boolean. Optional. Use when command = pack. Do not build. Default: false.
# Feeds and authentication
#feedsToUse: 'select' # 'select' | 'config'. Alias: selectOrConfig. Required when command = restore. Feeds to use. Default: select.
#vstsFeed: # string. Alias: feedRestore. Optional. Use when selectOrConfig = select && command = restore. Use packages from this Azure Artifacts/TFS feed.
#includeNuGetOrg: true # boolean. Optional. Use when selectOrConfig = select && command = restore. Use packages from NuGet.org. Default: true.
#nugetConfigPath: # string. Optional. Use when selectOrConfig = config && command = restore. Path to NuGet.config.
#externalFeedCredentials: # string. Alias: externalEndpoints. Optional. Use when selectOrConfig = config && command = restore. Credentials for feeds outside this organization/collection.
# Advanced
#noCache: false # boolean. Optional. Use when command = restore. Disable local cache. Default: false.
#restoreDirectory: # string. Alias: packagesDirectory. Optional. Use when command = restore. Destination directory.
#verbosityRestore: 'Detailed' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Optional. Use when command = restore. Verbosity. Default: Detailed.
# Pack options
#versioningScheme: 'off' # 'off' | 'byPrereleaseNumber' | 'byEnvVar' | 'byBuildNumber'. Required when command = pack. Automatic package versioning. Default: off.
#versionEnvVar: # string. Required when versioningScheme = byEnvVar && command = pack. Environment variable.
#majorVersion: '1' # string. Alias: requestedMajorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Major. Default: 1.
#minorVersion: '0' # string. Alias: requestedMinorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Minor. Default: 0.
#patchVersion: '0' # string. Alias: requestedPatchVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Patch. Default: 0.
# Advanced
#buildProperties: # string. Optional. Use when command = pack. Additional build properties.
#verbosityPack: 'Detailed' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Optional. Use when command = pack. Verbosity. Default: Detailed.
# Advanced
#workingDirectory: # string. Optional. Use when command != pack && command != push && command != restore. Working Directory.
Dane wejściowe
command
- Polecenia
string
. Wymagane. Dozwolone wartości: build
, push
(wypychanie nuget), pack
, publish
, restore
, run
, test
, . custom
Wartość domyślna: build
.
Polecenie dotnet do uruchomienia. Określ custom
, aby dodać argumenty lub użyć polecenia niewymienionego w tym miejscu.
Ważne
Zadanie uwierzytelniania NuGet to nowy zalecany sposób uwierzytelniania za pomocą usługi Azure Artifacts i innych repozytoriów NuGet. Polecenia restore
i push
tego zadania interfejsu wiersza polecenia platformy .NET Core nie zajmują już nowych funkcji i są rozwiązywane tylko krytyczne usterki. Zobacz uwagi, aby uzyskać szczegółowe informacje.
publishWebProjects
- Publikowanie projektów internetowych
boolean
. Opcjonalny. Użyj polecenia , gdy command = publish
. Wartość domyślna: true
.
Jeśli te dane wejściowe są ustawione na true
wartość , projects
wartość właściwości zostanie pominięta, a zadanie próbuje znaleźć projekty internetowe w repozytorium i uruchomić na nich polecenie publikowania. Projekty sieci Web są identyfikowane przez obecność web.config
pliku lub wwwroot
folderu w katalogu. W przypadku braku web.config
pliku lub wwwroot
folderu wybrane są projekty korzystające z zestawu SDK sieci Web, takie jak Microsoft.NET.Sdk.Web
, .
publishWebProjects
- Publikowanie projektów sieci Web
boolean
. Opcjonalny. Użyj polecenia , gdy command = publish
. Wartość domyślna: true
.
Jeśli te dane wejściowe są ustawione na true
wartość , projects
wartość właściwości zostanie pominięta, a zadanie próbuje znaleźć projekty internetowe w repozytorium i uruchomić na nich polecenie publikowania. Projekty sieci Web są identyfikowane przez obecność web.config
pliku lub wwwroot
folderu w katalogu. W przypadku braku web.config
pliku lub wwwroot
folderu wybrane są projekty korzystające z zestawu SDK sieci Web, takie jak Microsoft.NET.Sdk.Web
, .
projects
- Ścieżka do projektów lub rozwiązań
string
. Opcjonalny. Użyj polecenia , gdy command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false
.
Ścieżka do .csproj
plików lub .sln
do użycia. Można użyć symboli wieloznacznych (np. **/*.csproj
dla wszystkich .csproj
plików we wszystkich podfolderach). Aby uzyskać więcej informacji, zobacz dokumentację wzorców dopasowywania plików.
Ta ścieżka jest względna względem katalogu głównego repozytorium niezależnie od workingDirectory
ustawienia.
projects
- Ścieżka do projektów
string
. Opcjonalny. Użyj polecenia , gdy command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false
.
Ścieżka do .csproj
plików do użycia. Można użyć symboli wieloznacznych (np. **/*.csproj
dla wszystkich .csproj
plików we wszystkich podfolderach). Aby uzyskać więcej informacji, zobacz dokumentację wzorców dopasowywania plików.
Ta ścieżka jest względna względem katalogu głównego repozytorium niezależnie od workingDirectory
ustawienia.
custom
- Polecenie niestandardowe
string
. Wymagane, gdy command = custom
.
Polecenie do przekazania do dotnet.exe
wykonania. Pełną listę dostępnych poleceń można znaleźć w dokumentacji interfejsu wiersza polecenia dotnet.
arguments
- Argumenty
string
. Opcjonalny. Użyj polecenia , gdy command = build || command = publish || command = run || command = test || command = custom
.
Określa argumenty dla wybranego polecenia. Na przykład konfiguracja kompilacji, folder wyjściowy i środowisko uruchomieniowe. Argumenty zależą od wybranego polecenia.
Te dane wejściowe obecnie akceptują tylko argumenty dla build
, , publish
run
, test
i custom
. Jeśli chcesz dodać argumenty dla polecenia, które nie ma na liście, użyj polecenia custom
.
restoreArguments
- Argumenty
string
. Opcjonalny. Użyj polecenia , gdy command = restore
.
Zapisuje dodatkowe argumenty, które mają zostać przekazane do restore
polecenia .
publishTestResults
- Publikowanie wyników testów i pokrycia kodu
boolean
. Opcjonalny. Użyj polecenia , gdy command = test
. Wartość domyślna: true
.
Włączenie tej opcji spowoduje wygenerowanie test results
pliku TRX w $(Agent.TempDirectory)
programie , a wyniki zostaną opublikowane na serwerze.
Ta opcja dołącza --logger trx --results-directory $(Agent.TempDirectory)
do argumentów wiersza polecenia.
Pokrycie kodu można zebrać, dodając --collect "Code coverage"
opcję do argumentów wiersza polecenia.
testRunTitle
- Tytuł przebiegu testu
string
. Opcjonalny. Użyj polecenia , gdy command = test
.
Zawiera nazwę przebiegu testowego.
zipAfterPublish
- Opublikowane projekty zip
boolean
. Opcjonalny. Użyj polecenia , gdy command = publish
. Wartość domyślna: true
.
Jeśli te dane wejściowe są ustawione na true
, foldery utworzone przez polecenie publikowania zostaną spakowane i usunięte.
zipAfterPublish
- Opublikowane projekty zip
boolean
. Opcjonalny. Użyj polecenia , gdy command = publish
. Wartość domyślna: true
.
Jeśli te dane wejściowe mają wartość true
, folder utworzony przez polecenie publikowania zostanie spakowany i usunięty.
modifyOutputPath
- Dodawanie nazwy folderu projektu do ścieżki publikowania
boolean
. Opcjonalny. Użyj polecenia , gdy command = publish
. Wartość domyślna: true
.
Jeśli te dane wejściowe są ustawione na true
, foldery utworzone przez polecenie publikowania będą miały prefiks nazwy pliku projektu z nazwami folderów, gdy ścieżka wyjściowa jest określona jawnie w argumentach. Jest to przydatne, jeśli chcesz opublikować wiele projektów w tym samym folderze.
modifyOutputPath
- Dodawanie nazwy projektu w celu opublikowania ścieżki
boolean
. Opcjonalny. Użyj polecenia , gdy command = publish
. Wartość domyślna: true
.
Jeśli te dane wejściowe są ustawione na true
, foldery utworzone przez polecenie publikowania będą miały prefiks nazwy pliku projektu z nazwami folderów, gdy ścieżka wyjściowa jest określona jawnie w argumentach. Jest to przydatne, jeśli chcesz opublikować wiele projektów w tym samym folderze.
feedsToUse
- Kanały informacyjne do użycia
Alias wejściowy: selectOrConfig
. string
. Wymagane, gdy command = restore
. Dozwolone wartości: select
(kanały informacyjne, które wybieram tutaj), config
(kanały informacyjne w moim NuGet.config). Wartość domyślna: select
.
Możesz wybrać źródło danych z usługi Azure Artifacts i/lub NuGet.org
tutaj albo zatwierdzić nuget.config
plik w repozytorium kodu źródłowego i ustawić jego ścieżkę przy użyciu danych wejściowych nugetConfigPath
.
vstsFeed
- Używanie pakietów z tego kanału informacyjnego usługi Azure Artifacts
Alias wejściowy: feedRestore
. string
. Opcjonalny. Użyj polecenia , gdy selectOrConfig = select && command = restore
.
Uwzględnia wybrany kanał informacyjny w wygenerowanych NuGet.config
elementach . Aby wybrać źródło danych, musisz mieć zainstalowane i licencjonowane zarządzanie pakietami. projectName
/feedName
są używane dla źródeł danych o zakresie projektu. Tylko FeedName
w przypadku kanałów informacyjnych o zakresie organizacji. Uwaga: nie jest to obsługiwane w przypadku polecenia testowego.
vstsFeed
- Używanie pakietów z tego kanału informacyjnego usługi Azure Artifacts/serwera TFS
Alias wejściowy: feedRestore
. string
. Opcjonalny. Użyj polecenia , gdy selectOrConfig = select && command = restore
.
Uwzględnia wybrany kanał informacyjny w wygenerowanych NuGet.config
elementach . Aby wybrać źródło danych, musisz mieć zainstalowane i licencjonowane zarządzanie pakietami. projectName
/feedName
są używane dla źródeł danych o zakresie projektu. Tylko FeedName
w przypadku kanałów informacyjnych o zakresie organizacji. Uwaga: nie jest to obsługiwane w przypadku polecenia testowego.
includeNuGetOrg
- Korzystanie z pakietów z NuGet.org
boolean
. Opcjonalny. Użyj polecenia , gdy selectOrConfig = select && command = restore
. Wartość domyślna: true
.
Uwzględnia NuGet.org
w wygenerowanych NuGet.config
elementach .
nugetConfigPath
- Ścieżka do NuGet.config
string
. Opcjonalny. Użyj polecenia , gdy selectOrConfig = config && command = restore
.
Element NuGet.config
w repozytorium, który określa źródła danych, z których mają być przywracane pakiety.
externalFeedCredentials
- Poświadczenia źródeł danych spoza tej organizacji/kolekcji
Alias wejściowy: externalEndpoints
. string
. Opcjonalny. Użyj polecenia , gdy selectOrConfig = config && command = restore
.
Poświadczenia do użycia w rejestrach zewnętrznych znajdujących się w wybranym NuGet.config
obiekcie . W przypadku źródeł danych w tej organizacji/kolekcji pozostaw te dane wejściowe puste; poświadczenia kompilacji są używane automatycznie.
noCache
- Wyłączanie lokalnej pamięci podręcznej
boolean
. Opcjonalny. Użyj polecenia , gdy command = restore
. Wartość domyślna: false
.
Zapobiega używaniu pakietów NuGet z pamięci podręcznych maszyn lokalnych.
restoreDirectory
- Katalog docelowy
Alias wejściowy: packagesDirectory
. string
. Opcjonalny. Użyj polecenia , gdy command = restore
.
Określa folder, w którym są instalowane pakiety. Jeśli żaden folder nie zostanie określony, pakiety zostaną przywrócone do domyślnej pamięci podręcznej pakietów NuGet.
verbosityRestore
- Szczegółowości
string
. Opcjonalny. Użyj polecenia , gdy command = restore
. Dozwolone wartości: -
, , Minimal
Quiet
, Normal
, Detailed
, . Diagnostic
Wartość domyślna: Detailed
.
Określa ilość szczegółów wyświetlanych w danych wyjściowych polecenia restore
.
packagesToPush
- Ścieżka do pakietów NuGet do opublikowania
Alias wejściowy: searchPatternPush
. string
. Wymagane, gdy command = push
. Wartość domyślna: $(Build.ArtifactStagingDirectory)/*.nupkg
.
Wzorzec dopasowania lub ścieżki do nupkg
plików do przekazania. Wiele wzorców może być oddzielonych średnikami i można utworzyć wzorzec ujemny, prefiksując go za pomocą !
. Przykład: **/*.nupkg;!**/*.Tests.nupkg
.
nuGetFeedType
- Docelowa lokalizacja kanału informacyjnego
string
. Wymagane, gdy command = push
. Dozwolone wartości: internal
(Ta organizacja/kolekcja), external
(zewnętrzny serwer NuGet (w tym inne organizacje/kolekcje)). Wartość domyślna: internal
.
Określa, czy źródło danych docelowych jest wewnętrzne, czy zewnętrzne.
publishVstsFeed
- Źródło danych docelowych
Alias wejściowy: feedPublish
. string
. Wymagane, gdy command = push && nuGetFeedType = internal
.
Określa źródło danych hostowane w tej organizacji. Aby wybrać źródło danych, musisz mieć zainstalowane i licencjonowane zarządzanie pakietami.
publishPackageMetadata
- Publikowanie metadanych potoku
boolean
. Opcjonalny. Użyj polecenia , gdy command = push && nuGetFeedType = internal && command = push
. Wartość domyślna: true
.
Kojarzy metadane potoku kompilacji/wydania (uruchom #, informacje o kodzie źródłowym) z pakietem.
publishFeedCredentials
- Serwer NuGet
Alias wejściowy: externalEndpoint
. string
. Wymagane, gdy command = push && nuGetFeedType = external
.
Połączenie usługi NuGet zawierające poświadczenia zewnętrznego serwera NuGet.
packagesToPack
- Ścieżka do plików csproj lub nuspec do spakowania
Alias wejściowy: searchPatternPack
. string
. Wymagane, gdy command = pack
. Wartość domyślna: **/*.csproj
.
Wzorzec do wyszukania .csproj
plików lub .nuspec
spakowania.
Można oddzielić wiele wzorców średnikami i utworzyć wzorzec ujemny, prefiksując go za pomocą !
. Przykład: **/*.csproj;!**/*.Tests.csproj
.
configuration
- Konfiguracja do pakietu
Alias wejściowy: configurationToPack
. string
. Opcjonalny. Użyj polecenia , gdy command = pack
. Wartość domyślna: $(BuildConfiguration)
.
W przypadku korzystania z .csproj
pliku dane wejściowe określają konfigurację do spakowania.
packDirectory
- Folder pakietu
Alias wejściowy: outputDir
. string
. Opcjonalny. Użyj polecenia , gdy command = pack
. Wartość domyślna: $(Build.ArtifactStagingDirectory)
.
Folder, w którym zostaną utworzone pakiety. Jeśli ten folder jest pusty, pakiety zostaną utworzone wraz z plikiem csproj
.
nobuild
- Nie kompiluj
boolean
. Opcjonalny. Użyj polecenia , gdy command = pack
. Wartość domyślna: false
.
Określa, że zadanie nie będzie kompilować projektu przed pakowaniem. To zadanie odpowiada parametrowi --no-build
build
polecenia .
includesymbols
- Dołącz symbole
boolean
. Opcjonalny. Użyj polecenia , gdy command = pack
. Wartość domyślna: false
.
Tworzy symbol pakietów NuGet. To zadanie odpowiada parametrowi --include-symbols
wiersza polecenia.
includesource
- Uwzględnij źródło
boolean
. Opcjonalny. Użyj polecenia , gdy command = pack
. Wartość domyślna: false
.
Zawiera kod źródłowy w pakiecie. To zadanie odpowiada parametrowi --include-source
wiersza polecenia.
versioningScheme
- Automatyczne przechowywanie wersji pakietów
string
. Wymagane, gdy command = pack
. Dozwolone wartości: off
, byPrereleaseNumber
(użyj daty i godziny), byEnvVar
(użyj zmiennej środowiskowej) byBuildNumber
(użyj numeru kompilacji). Wartość domyślna: off
.
Tego zadania nie można używać z dołączonymi projektami, do których odwołuje się odwołanie. Jeśli wybierzesz opcję Use the date and time
, spowoduje to wygenerowanie zgodnej ze standardem SemVer wersji sformatowanej jako X.Y.Z-ci-datetime
miejsce wyboru X
, Y
i Z
.
Jeśli wybierzesz opcję Use an environment variable
, musisz wybrać zmienną środowiskową i upewnić się, że zawiera ona numer wersji, którego chcesz użyć.
Jeśli wybierzesz opcję Use the build number
, będzie to używać numeru kompilacji do wersji pakietu. Uwaga: W obszarze Options
ustaw format numeru kompilacji na $(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
wartość .
versionEnvVar
- Zmienna środowiskowa
string
. Wymagane, gdy versioningScheme = byEnvVar && command = pack
.
Określa nazwę zmiennej bez $
, $env
lub %
.
majorVersion
- Głównych
Alias wejściowy: requestedMajorVersion
. string
. Wymagane, gdy versioningScheme = byPrereleaseNumber && command = pack
. Wartość domyślna: 1
.
Element X
w wersji X.Y.Z.
minorVersion
- Drobne
Alias wejściowy: requestedMinorVersion
. string
. Wymagane, gdy versioningScheme = byPrereleaseNumber && command = pack
. Wartość domyślna: 0
.
Element Y
w wersji X.Y.Z.
patchVersion
- Patch
Alias wejściowy: requestedPatchVersion
. string
. Wymagane, gdy versioningScheme = byPrereleaseNumber && command = pack
. Wartość domyślna: 0
.
Element Z
w wersji X.Y.Z.
buildProperties
- Dodatkowe właściwości kompilacji
string
. Opcjonalny. Użyj polecenia , gdy command = pack
.
Określa listę token = value
par rozdzielonych średnikami, gdzie każde wystąpienie $token$
w .nuspec
pliku zostanie zastąpione daną wartością. Wartości mogą być ciągami w cudzysłowie.
verbosityPack
- Szczegółowości
string
. Opcjonalny. Użyj polecenia , gdy command = pack
. Dozwolone wartości: -
, , Minimal
Quiet
, Normal
, Detailed
, . Diagnostic
Wartość domyślna: Detailed
.
Określa ilość szczegółów wyświetlanych w danych wyjściowych polecenia pack
.
workingDirectory
- Katalog roboczy
string
. Opcjonalny. Użyj polecenia , gdy command != restore && command != push && command != pack && command != pack && command != push && command != restore
.
Bieżący katalog roboczy, w którym jest uruchamiany skrypt. Empty
to katalog główny repozytorium (kompilacja) lub artefakty (wydanie), czyli $(System.DefaultWorkingDirectory)
.
workingDirectory
- Katalog roboczy
string
. Opcjonalny. Użyj polecenia , gdy command != pack && command != push && command != restore
.
Bieżący katalog roboczy, w którym jest uruchamiany skrypt. Empty
to katalog główny repozytorium (kompilacja) lub artefakty (wydanie), czyli $(System.DefaultWorkingDirectory)
.
Opcje sterowania zadania
Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań. Aby uzyskać więcej informacji, zobacz Opcje sterowania i typowe właściwości zadań.
Zmienne wyjściowe
Brak.
Uwagi
Ważne
Zadanie uwierzytelniania NuGet to nowy zalecany sposób uwierzytelniania za pomocą usługi Azure Artifacts i innych repozytoriów NuGet. Polecenia restore
i push
tego zadania interfejsu wiersza polecenia platformy .NET Core nie zajmują już nowych funkcji i są rozwiązywane tylko krytyczne usterki.
Dlaczego mój krok kompilacji, publikowania lub testowania nie może przywrócić pakietów?
Większość dotnet
poleceń, w tym build
, publish
i test
zawiera niejawny restore
krok. Nie powiedzie się to w przypadku uwierzytelnionych kanałów informacyjnych, nawet jeśli przebiegł pomyślnie dotnet restore
we wcześniejszym kroku, ponieważ wcześniejszy krok spowoduje wyczyszczenie użytych poświadczeń.
Aby rozwiązać ten problem, dodaj flagę --no-restore
do pola tekstowego Arguments
.
Ponadto test
polecenie nie rozpoznaje feedRestore
argumentów ani vstsFeed
, a źródła danych określone w ten sposób nie będą uwzględniane w wygenerowanych NuGet.config
plikach po uruchomieniu niejawnego restore
kroku. Zaleca się, aby jawny dotnet restore
krok był używany do przywracania pakietów. Polecenie restore
uwzględnia feedRestore
argumenty i vstsFeed
.
Dlaczego otrzymuję ostrzeżenia NU1507 z mapowaniem źródła pakietów , chociaż podczas kompilowania na mojej maszynie nie ma żadnych ostrzeżeń?
Różne polecenia, które wykonują przywracanie NuGet lub dostęp do kanału informacyjnego NuGet, tworzą specjalny plik tymczasowy NuGet.config
, który dodaje uwierzytelnianie NuGet dla źródeł danych NuGet artefaktów platformy Azure. Ten sposób jest w konflikcie ze schematem używanym przez mapowanie źródła pakietów do mapowania pakietów na źródła i przerywa konfigurację Mappin źródła pakietów w NuGet.config
pliku w repozytorium.
Aby obejść ten konflikt, możesz użyć zadania uwierzytelniania NuGet w celu uwierzytelnienia, a następnie polecenia niestandardowego w celu wywołania żądanego polecenia dotnet bez NuGet.config
modyfikacji.
# Authenticate Azure DevOps NuGet feed
- task: NuGetAuthenticate@1
displayName: 'Authenticate Azure DevOps NuGet feed'
# Restore project
- task: DotNetCoreCLI@2
inputs:
command: 'custom'
custom: 'restore'
# Build project
- task: DotNetCoreCLI@2
inputs:
command: 'custom'
custom: 'build'
arguments: '--no-restore'
Dlaczego warto zaewidencjonować NuGet.config?
NuGet.config
Zaewidencjonowanie kontrolki źródła zapewnia, że kluczowy element informacji potrzebny do skompilowania projektu — lokalizacji jego pakietów — jest dostępny dla każdego dewelopera, który wyewidencjonuje kod.
Jednak w sytuacjach, w których zespół deweloperów pracuje nad dużym zakresem projektów, istnieje również możliwość dodania kanału informacyjnego usługi Azure Artifacts do środowiska globalnego NuGet.config
na maszynie każdego dewelopera. W takich sytuacjach użycie Feeds I select here
opcji w zadaniu NuGet replikuje tę konfigurację.
Rozwiązywanie problemów
Projekt korzystający z programu Entity Framework przestał działać na hostowanych agentach
Platforma .NET Core nie ma wbudowanego programu Entity Framework(EF). Przed rozpoczęciem wykonywania należy zainstalować program EF lub dodać global.json
go do projektu z wymaganą wersją zestawu SDK platformy .NET Core. Zapewni to, że poprawny zestaw SDK jest używany do kompilowania projektu EF. Jeśli wymagana wersja nie jest obecna na maszynie, dodaj UseDotNetV2
zadanie do potoku, aby zainstalować wymaganą wersję. Aby uzyskać więcej informacji, zobacz Pobieranie środowiska uruchomieniowego platformy Entity Framework Core.
Przykłady
- Przykłady kompilacji
- Przykłady wypychania
- Przykłady wypychania
- Przykłady pakietów
- Publikowanie przykładów
- Przykłady przywracania
- Przykłady testów
Przykłady kompilacji
Kompilowanie projektu
# Build project
- task: DotNetCoreCLI@2
inputs:
command: 'build'
Kompilowanie wielu projektów
# Build multiple projects
- task: DotNetCoreCLI@2
inputs:
command: 'build'
projects: |
src/proj1/proj1.csproj
src/proj2/proj2.csproj
src/other/other.sln # Pass a solution instead of a csproj.
Przykłady wypychania
Wypychanie pakietów NuGet do wewnętrznego źródła danych
# Push non test NuGet packages from a build to internal organization Feed
- task: DotNetCoreCLI@2
inputs:
command: 'push'
searchPatternPush: '$(Build.ArtifactStagingDirectory)/*.nupkg;!$(Build.ArtifactStagingDirectory)/*.Tests.nupkg'
feedPublish: 'FabrikamFeed'
Wypychanie pakietów NuGet do zewnętrznego źródła danych
# Push all NuGet packages from a build to external Feed
- task: DotNetCoreCLI@2
inputs:
command: 'push'
nugetFeedType: 'external'
externalEndPoint: 'MyNuGetServiceConnection'
Przykłady pakietów
Pakowanie pakietu NuGetPackage do określonego katalogu wyjściowego
# Pack a NuGet package to a test directory
- task: DotNetCoreCLI@2
inputs:
command: 'pack'
outputDir: '$(Build.ArtifactStagingDirectory)/TestDir'
Pakowanie pakietu symboli
# Pack a symbol package along with NuGet package
- task: DotNetCoreCLI@2
inputs:
command: 'pack'
includesymbols: true
Publikowanie przykładów
Publikowanie projektów w określonym folderze
# Publish projects to specified folder.
- task: DotNetCoreCLI@2
displayName: 'dotnet publish'
inputs:
command: 'publish'
publishWebProjects: false
projects: '**/*.csproj'
arguments: '-o $(Build.ArtifactStagingDirectory)/Output'
zipAfterPublish: true
modifyOutputPath: true
Przykłady przywracania
#Restore packages with the .NET Core CLI task
- task: DotNetCoreCLI@2
displayName: 'dotnet restore'
inputs:
command: 'restore'
feedsToUse: 'select'
feedRestore: 'projectName/feedName'
projects: '**/*.csproj'
includeNuGetOrg: true
Przykłady testów
Uruchamianie testów w repozytorium
# Run tests and auto publish test results.
- task: DotNetCoreCLI@2
inputs:
command: 'test'
Wymagania
Wymaganie | Opis |
---|---|
Typy potoków | YAML, klasyczna kompilacja, wersja klasyczna |
Działa w | Agent |
Wymagania | Brak |
Możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
Ograniczenia poleceń | Dowolne |
Zmienne ustawialne | Dowolne |
Wersja agenta | 2.144.0 lub nowsza |
Kategoria zadania | Kompilacja |
Wymaganie | Opis |
---|---|
Typy potoków | YAML, klasyczna kompilacja, wersja klasyczna |
Działa w | Agent |
Wymagania | Brak |
Możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
Ograniczenia poleceń | Dowolne |
Zmienne ustawialne | Dowolne |
Wersja agenta | 2.115.0 lub nowsza |
Kategoria zadania | Kompilacja |
Wymaganie | Opis |
---|---|
Typy potoków | YAML, klasyczna kompilacja, wersja klasyczna |
Działa w | Agent |
Wymagania | Brak |
Możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
Ograniczenia poleceń | Dowolne |
Zmienne ustawialne | Dowolne |
Wersja agenta | 2.0.0 lub nowsza |
Kategoria zadania | Kompilacja |