Udostępnij za pośrednictwem


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 truewartość , 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 truewartość , 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, , publishrun, testi 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.configelementach . 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.configelementach . 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.configelementach .


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.configobiekcie . 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: -, , MinimalQuiet, 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-buildbuild 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, Yi 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 Optionsustaw 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 $, $envlub %.


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: -, , MinimalQuiet, 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, publishi 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

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