tarefa DotNetCoreCLI@2 – .NET Core v2
Crie, teste, empacote ou publique um aplicativo dotnet ou execute um comando dotnet personalizado.
Crie, teste, empacote ou publique um aplicativo dotnet ou execute um comando dotnet personalizado. Para comandos de pacote, é compatível com feeds autenticados e NuGet.org, como Gerenciamento de Pacotes e MyGet.
Importante
A tarefa Autenticação do NuGet é a nova maneira recomendada de autenticar com o Azure Artifacts e outros repositórios NuGet. Os restore
comandos e push
desta tarefa da CLI do .NET Core não têm mais novos recursos e apenas bugs críticos são resolvidos. Confira comentários para obter detalhes.
Syntax
# .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.
Entradas
command
- Comando
string
. Obrigatórios. Valores permitidos: build
, push
(push nuget), pack
, publish
, restore
, run
, , test
, custom
. Valor padrão: build
.
O comando dotnet a ser executado. Especifique custom
para adicionar argumentos ou usar um comando não listado aqui.
Importante
A tarefa Autenticação do NuGet é a nova maneira recomendada de autenticar com o Azure Artifacts e outros repositórios NuGet. Os restore
comandos e push
desta tarefa da CLI do .NET Core não têm mais novos recursos e apenas bugs críticos são resolvidos. Confira comentários para obter detalhes.
publishWebProjects
- Publicar projetos Web
boolean
. Opcional. Use quando command = publish
. Valor padrão: true
.
Se essa entrada for definida como true
, o valor da projects
propriedade será ignorado e a tarefa tentará localizar os projetos Web no repositório e executar o comando publish neles. Os projetos Web são identificados pela presença de um web.config
arquivo ou uma wwwroot
pasta no diretório. Na ausência de um web.config
arquivo ou uma wwwroot
pasta, os projetos que usam um SDK da Web, como Microsoft.NET.Sdk.Web
, são selecionados.
publishWebProjects
- Publicar projetos Web
boolean
. Opcional. Use quando command = publish
. Valor padrão: true
.
Se essa entrada for definida como true
, o valor da projects
propriedade será ignorado e a tarefa tentará localizar os projetos Web no repositório e executar o comando publish neles. Os projetos Web são identificados pela presença de um web.config
arquivo ou uma wwwroot
pasta no diretório. Na ausência de um web.config
arquivo ou uma wwwroot
pasta, os projetos que usam um SDK da Web, como Microsoft.NET.Sdk.Web
, são selecionados.
projects
- Caminho para projetos ou soluções
string
. Opcional. Use quando command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false
.
O caminho para os .csproj
arquivos ou .sln
a serem usados. Você pode usar curingas (por exemplo **/*.csproj
, para todos os .csproj
arquivos em todas as subpastas). Para obter mais informações, consulte a referência de padrões de correspondência de arquivo.
Esse caminho é relativo à raiz do repositório, independentemente da workingDirectory
configuração.
projects
- Caminho para projetos
string
. Opcional. Use quando command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false
.
O caminho para os .csproj
arquivos a serem usados. Você pode usar curingas (por exemplo **/*.csproj
, para todos os .csproj
arquivos em todas as subpastas). Para obter mais informações, consulte a referência de padrões de correspondência de arquivo.
Esse caminho é relativo à raiz do repositório, independentemente da workingDirectory
configuração.
custom
- Comando personalizado
string
. Obrigatório quando command = custom
.
O comando a ser passado para a dotnet.exe
execução. Para obter uma lista completa de comandos disponíveis, consulte a documentação da CLI do dotnet.
arguments
- Argumentos
string
. Opcional. Use quando command = build || command = publish || command = run || command = test || command = custom
.
Especifica os argumentos para o comando selecionado. Por exemplo, configuração de build, pasta de saída e runtime. Os argumentos dependem do comando selecionado.
Atualmente, essa entrada aceita apenas argumentos para build
, publish
, run
, test
e custom
. Se você quiser adicionar argumentos para um comando não listado, use custom
.
restoreArguments
- Argumentos
string
. Opcional. Use quando command = restore
.
Grava os argumentos adicionais a serem passados para o restore
comando .
publishTestResults
- Publicar resultados de teste e cobertura de código
boolean
. Opcional. Use quando command = test
. Valor padrão: true
.
Habilitar essa opção gerará um test results
arquivo TRX no $(Agent.TempDirectory)
e os resultados serão publicados no servidor.
Essa opção acrescenta --logger trx --results-directory $(Agent.TempDirectory)
aos argumentos de linha de comando.
A cobertura de código pode ser coletada adicionando a opção --collect "Code coverage"
aos argumentos de linha de comando.
testRunTitle
- Título da execução de teste
string
. Opcional. Use quando command = test
.
Fornece um nome para a execução do teste.
zipAfterPublish
- Projetos publicados zip
boolean
. Opcional. Use quando command = publish
. Valor padrão: true
.
Se essa entrada for definida como true
, as pastas criadas pelo comando publish serão compactadas e excluídas.
zipAfterPublish
- Projetos publicados zip
boolean
. Opcional. Use quando command = publish
. Valor padrão: true
.
Se essa entrada for definida como true
, a pasta criada pelo comando publish será compactada e excluída.
modifyOutputPath
- Adicionar o nome da pasta do projeto ao caminho de publicação
boolean
. Opcional. Use quando command = publish
. Valor padrão: true
.
Se essa entrada for definida como true
, as pastas criadas pelo comando publish terão o nome do arquivo de projeto prefixado em seus nomes de pasta quando o caminho de saída for especificado explicitamente em argumentos. Isso será útil se você quiser publicar vários projetos na mesma pasta.
modifyOutputPath
- Adicionar o nome do projeto ao caminho de publicação
boolean
. Opcional. Use quando command = publish
. Valor padrão: true
.
Se essa entrada for definida como true
, as pastas criadas pelo comando publish terão o nome do arquivo de projeto prefixado em seus nomes de pasta quando o caminho de saída for especificado explicitamente em argumentos. Isso será útil se você quiser publicar vários projetos na mesma pasta.
feedsToUse
- Feeds a serem usados
Alias de entrada: selectOrConfig
. string
. Obrigatório quando command = restore
. Valores permitidos: select
(Feed(s) eu seleciono aqui) config
(Feeds no meu NuGet.config). Valor padrão: select
.
Você pode selecionar um feed do Azure Artifacts e/ou NuGet.org
aqui ou confirmar um nuget.config
arquivo no repositório de código-fonte e definir seu caminho usando a nugetConfigPath
entrada.
vstsFeed
- Usar pacotes deste feed do Azure Artifacts
Alias de entrada: feedRestore
. string
. Opcional. Use quando selectOrConfig = select && command = restore
.
Inclui o feed selecionado no gerado NuGet.config
. Você deve ter o Gerenciamento de Pacotes instalado e licenciado para selecionar um feed aqui. projectName
/feedName
são usados para feeds no escopo do projeto. Somente FeedName
é usado para feeds no escopo da organização. Observação: não há suporte para o comando de teste.
vstsFeed
- Usar pacotes deste feed do Azure Artifacts/TFS
Alias de entrada: feedRestore
. string
. Opcional. Use quando selectOrConfig = select && command = restore
.
Inclui o feed selecionado no gerado NuGet.config
. Você deve ter o Gerenciamento de Pacotes instalado e licenciado para selecionar um feed aqui. projectName
/feedName
são usados para feeds no escopo do projeto. Somente FeedName
é usado para feeds no escopo da organização. Observação: não há suporte para o comando de teste.
includeNuGetOrg
- Usar pacotes de NuGet.org
boolean
. Opcional. Use quando selectOrConfig = select && command = restore
. Valor padrão: true
.
Inclui NuGet.org
no gerado NuGet.config
.
nugetConfigPath
- Caminho para NuGet.config
string
. Opcional. Use quando selectOrConfig = config && command = restore
.
O NuGet.config
no repositório que especifica os feeds dos quais restaurar pacotes.
externalFeedCredentials
- Credenciais para feeds fora desta organização/coleção
Alias de entrada: externalEndpoints
. string
. Opcional. Use quando selectOrConfig = config && command = restore
.
As credenciais a serem usadas para registros externos localizados no selecionado NuGet.config
. Para feeds nesta organização/coleção, deixe essa entrada em branco; As credenciais do build são usadas automaticamente.
noCache
- Desabilitar o cache local
boolean
. Opcional. Use quando command = restore
. Valor padrão: false
.
Impede que o NuGet use pacotes dos caches de computador locais.
restoreDirectory
- Diretório de destino
Alias de entrada: packagesDirectory
. string
. Opcional. Use quando command = restore
.
Especifica a pasta na qual os pacotes estão instalados. Se nenhuma pasta for especificada, os pacotes serão restaurados no cache de pacotes NuGet padrão.
verbosityRestore
- Verbosidade
string
. Opcional. Use quando command = restore
. Valores permitidos: -
, Quiet
, , Minimal
, Normal
, Detailed
, Diagnostic
. Valor padrão: Detailed
.
Especifica a quantidade de detalhes exibida na saída do comando restore
.
packagesToPush
- Caminho para pacotes NuGet a serem publicados
Alias de entrada: searchPatternPush
. string
. Obrigatório quando command = push
. Valor padrão: $(Build.ArtifactStagingDirectory)/*.nupkg
.
O padrão a ser correspondido ou caminho para nupkg
arquivos a serem carregados. Vários padrões podem ser separados por um ponto e vírgula e você pode tornar o padrão negativo prefixando-o com !
. Exemplo: **/*.nupkg;!**/*.Tests.nupkg
.
nuGetFeedType
- Local do feed de destino
string
. Obrigatório quando command = push
. Valores permitidos: internal
(esta organização/coleção), external
(servidor NuGet externo (incluindo outras organizações/coleções)). Valor padrão: internal
.
Especifica se o feed de destino é interno ou externo.
publishVstsFeed
- Feed de destino
Alias de entrada: feedPublish
. string
. Obrigatório quando command = push && nuGetFeedType = internal
.
Especifica um feed hospedado nesta organização. Você deve ter o Gerenciamento de Pacotes instalado e licenciado para selecionar um feed aqui.
publishPackageMetadata
- Publicar metadados de pipeline
boolean
. Opcional. Use quando command = push && nuGetFeedType = internal && command = push
. Valor padrão: true
.
Associa os metadados desse pipeline de build/versão (executar #, informações de código-fonte) ao pacote.
publishFeedCredentials
- Servidor NuGet
Alias de entrada: externalEndpoint
. string
. Obrigatório quando command = push && nuGetFeedType = external
.
A conexão de serviço NuGet que contém as credenciais do servidor NuGet externo.
packagesToPack
- Caminho para csproj ou arquivos nuspec para empacotar
Alias de entrada: searchPatternPack
. string
. Obrigatório quando command = pack
. Valor padrão: **/*.csproj
.
O padrão a ser .csproj
pesquisado ou .nuspec
os arquivos a serem empacotados.
Você pode separar vários padrões com um ponto e vírgula e você pode tornar o padrão negativo prefixando-o com !
. Exemplo: **/*.csproj;!**/*.Tests.csproj
.
configuration
- Configuração para Pacote
Alias de entrada: configurationToPack
. string
. Opcional. Use quando command = pack
. Valor padrão: $(BuildConfiguration)
.
Ao usar um .csproj
arquivo, essa entrada especifica a configuração a ser empacotada.
packDirectory
- Pasta do Pacote
Alias de entrada: outputDir
. string
. Opcional. Use quando command = pack
. Valor padrão: $(Build.ArtifactStagingDirectory)
.
A pasta em que os pacotes serão criados. Se essa pasta estiver vazia, os pacotes serão criados junto com o csproj
arquivo .
nobuild
- Não compilar
boolean
. Opcional. Use quando command = pack
. Valor padrão: false
.
Especifica que a tarefa não compilará o projeto antes do empacotamento. Essa tarefa corresponde ao --no-build
parâmetro do build
comando .
includesymbols
- Incluir símbolos
boolean
. Opcional. Use quando command = pack
. Valor padrão: false
.
Cria pacotes NuGet de símbolo. Essa tarefa corresponde ao parâmetro de --include-symbols
linha de comando.
includesource
- Incluir origem
boolean
. Opcional. Use quando command = pack
. Valor padrão: false
.
Inclui o código-fonte no pacote. Essa tarefa corresponde ao parâmetro de --include-source
linha de comando.
versioningScheme
- Controle de versão automático de pacote
string
. Obrigatório quando command = pack
. Valores permitidos: off
, byPrereleaseNumber
(Usar a data e a hora), byEnvVar
(Usar uma variável de ambiente) byBuildNumber
(Use o número de build). Valor padrão: off
.
Esta tarefa não pode ser usada com projetos referenciados incluídos. Se você escolher Use the date and time
, isso gerará uma versão compatível com SemVer formatada como X.Y.Z-ci-datetime
onde você escolher X
, Y
e Z
.
Se você escolher Use an environment variable
, deverá selecionar uma variável de ambiente e garantir que ela contenha o número de versão que deseja usar.
Se você escolher Use the build number
, isso usará o número de build para versão do pacote. Nota: Em Options
, defina o formato de número de build como $(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
.
versionEnvVar
- Variável de ambiente
string
. Obrigatório quando versioningScheme = byEnvVar && command = pack
.
Especifica o nome da variável sem $
, $env
ou %
.
majorVersion
- Principais
Alias de entrada: requestedMajorVersion
. string
. Obrigatório quando versioningScheme = byPrereleaseNumber && command = pack
. Valor padrão: 1
.
O X
na versão X.Y.Z.
minorVersion
- Menor
Alias de entrada: requestedMinorVersion
. string
. Obrigatório quando versioningScheme = byPrereleaseNumber && command = pack
. Valor padrão: 0
.
O Y
na versão X.Y.Z.
patchVersion
- Patch
Alias de entrada: requestedPatchVersion
. string
. Obrigatório quando versioningScheme = byPrereleaseNumber && command = pack
. Valor padrão: 0
.
O Z
na versão X.Y.Z.
buildProperties
- Propriedades de build adicionais
string
. Opcional. Use quando command = pack
.
Especifica uma lista de token = value
pares, separados por ponto e vírgula, em que cada ocorrência de $token$
no .nuspec
arquivo será substituída pelo valor fornecido. Os valores podem ser cadeias de caracteres entre aspas.
verbosityPack
- Verbosidade
string
. Opcional. Use quando command = pack
. Valores permitidos: -
, Quiet
, Minimal
, Normal
, Detailed
, Diagnostic
. Valor padrão: Detailed
.
Especifica a quantidade de detalhes exibida na saída do comando pack
.
workingDirectory
- Diretório de trabalho
string
. Opcional. Use quando command != restore && command != push && command != pack && command != pack && command != push && command != restore
.
O diretório de trabalho atual em que o script é executado. Empty
é a raiz do repositório (build) ou artefatos (versão), que é $(System.DefaultWorkingDirectory)
.
workingDirectory
- Diretório de Trabalho
string
. Opcional. Use quando command != pack && command != push && command != restore
.
O diretório de trabalho atual em que o script é executado. Empty
é a raiz do repositório (build) ou artefatos (versão), que é $(System.DefaultWorkingDirectory)
.
Opções de controle da tarefa
Todas as tarefas têm opções de controle além de suas entradas de tarefa. Para obter mais informações, consulte Opções de controle e propriedades comuns da tarefa.
Variáveis de saída
Nenhum.
Comentários
Importante
A tarefa Autenticação do NuGet é a nova maneira recomendada de autenticar com o Azure Artifacts e outros repositórios NuGet. Os restore
comandos e push
dessa tarefa da CLI do .NET Core não levam mais novos recursos e apenas bugs críticos são resolvidos.
Por que minha etapa de compilação, publicação ou teste está falhando ao restaurar os pacotes?
A maioria dos comandos dotnet
, incluindo build
, publish
e test
incluem uma etapa implícita restore
. Isso falhará em feeds autenticados, mesmo que você tenha executado um dotnet restore
bem-sucedido em uma etapa anterior, pois a etapa anterior terá limpado as credenciais usadas.
Para corrigir esse problema, adicione o --no-restore
sinalizador à Arguments
caixa de texto.
Além disso, o test
comando não reconhece os feedRestore
argumentos ou vstsFeed
e os feeds especificados dessa maneira não serão incluídos no arquivo gerado NuGet.config
quando a etapa implícita restore
for executada. É recomendável que uma etapa explícita dotnet restore
seja usada para restaurar pacotes. O comando restore
respeita os argumentos feedRestore
e vstsFeed
.
Por que estou recebendo avisos NU1507 com o Mapeamento de Origem do Pacote , embora ao compilar no meu computador ele não tenha avisos?
Os vários comandos que fazem uma restauração do NuGet ou acessam um feed do NuGet criam um arquivo temporário NuGet.config
especial que adiciona autenticação do NuGet para feeds NuGet de artefatos do Azure. A maneira como isso é feito está em conflito com o esquema que o Mapeamento de Origem do Pacote usa para mapear os pacotes para as fontes e quebra a configuração do Mapeador de Origem do NuGet.config
Pacote no arquivo em seu repositório.
Para contornar esse conflito, você pode usar a tarefa Autenticação do NuGet para autenticar e, posteriormente, o comando personalizado para invocar o comando dotnet desejado sem a NuGet.config
modificação.
# 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'
Por que eu deveria fazer check-in do NuGet.config?
Verificar um NuGet.config
no controle do código-fonte garante que uma parte fundamental das informações necessárias para compilar seu projeto — o local de seus pacotes — esteja disponível para todos os desenvolvedores que conferem seu código.
No entanto, para situações em que uma equipe de desenvolvedores trabalha em uma grande variedade de projetos, também é possível adicionar um feed do Azure Artifacts ao global NuGet.config
no computador de cada desenvolvedor. Nessas situações, usar a opção Feeds I select here
na tarefa NuGet replica essa configuração.
Solução de problemas
O projeto que usa o Entity Framework parou de funcionar em Agentes Hospedados
O .NET Core não tem o EF (Entity Framework) interno. Você precisará instalar o EF antes de iniciar a execução ou adicionar global.json
ao projeto com a versão necessária do SDK do .NET Core. Isso garantirá que o SDK correto será usado para compilar um projeto EF. Se a versão necessária não estiver presente no computador, adicione a UseDotNetV2
tarefa ao pipeline para instalar a versão necessária. Para obter mais informações, consulte Obter o runtime do Entity Framework Core.
Exemplos
- Exemplos de build
- Exemplos de push
- Exemplos de push
- Exemplos de pacote
- Publicar exemplos
- Exemplos de restauração
- Exemplos de teste
Exemplos de build
Compilar um projeto
# Build project
- task: DotNetCoreCLI@2
inputs:
command: 'build'
Compilar projetos múltiplos
# 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.
Exemplos de push
Enviar pacotes NuGet por push para o feed interno
# 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'
Enviar pacotes NuGet por push para o feed externo
# Push all NuGet packages from a build to external Feed
- task: DotNetCoreCLI@2
inputs:
command: 'push'
nugetFeedType: 'external'
externalEndPoint: 'MyNuGetServiceConnection'
Exemplos de pacote
Empacotar um NuGetPackage em um diretório de saída específico
# Pack a NuGet package to a test directory
- task: DotNetCoreCLI@2
inputs:
command: 'pack'
outputDir: '$(Build.ArtifactStagingDirectory)/TestDir'
Empacotar um Pacote de Símbolos
# Pack a symbol package along with NuGet package
- task: DotNetCoreCLI@2
inputs:
command: 'pack'
includesymbols: true
Publicar exemplos
Publicar projetos na pasta especificada
# 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
Exemplos de restauração
#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
Exemplos de teste
Executar testes no repositório
# Run tests and auto publish test results.
- task: DotNetCoreCLI@2
inputs:
command: 'test'
Requisitos
Requisito | Descrição |
---|---|
Tipos de pipeline | YAML, build clássico, versão clássica |
É executado em | Agente |
Demandas | Nenhum |
Funcionalidades | Essa tarefa não atende a nenhuma demanda por tarefas subsequentes no trabalho. |
Restrições de comando | Qualquer |
Variáveis configuráveis | Qualquer |
Versão do agente | 2.144.0 ou superior |
Categoria da tarefa | Build |
Requisito | Descrição |
---|---|
Tipos de pipeline | YAML, build clássico, versão clássica |
É executado em | Agente |
Demandas | Nenhum |
Funcionalidades | Essa tarefa não atende a nenhuma demanda por tarefas subsequentes no trabalho. |
Restrições de comando | Qualquer |
Variáveis configuráveis | Qualquer |
Versão do agente | 2.115.0 ou superior |
Categoria da tarefa | Build |
Requisito | Descrição |
---|---|
Tipos de pipeline | YAML, build clássico, versão clássica |
É executado em | Agente |
Demandas | Nenhum |
Funcionalidades | Essa tarefa não atende a nenhuma demanda por tarefas subsequentes no trabalho. |
Restrições de comando | Qualquer |
Variáveis configuráveis | Qualquer |
Versão do agente | 2.0.0 ou superior |
Categoria da tarefa | Build |