DotNetCoreCLI@2 – tarefa .NET Core v2
Crie, teste, empacote ou publique uma aplicação dotnet ou execute um comando dotnet personalizado.
Crie, teste, empacote ou publique uma aplicação dotnet ou execute um comando dotnet personalizado. Para comandos de pacote, suporta feeds NuGet.org e autenticados, como a Gestão de Pacotes e o MyGet.
Importante
A tarefa Autenticar NuGet é a nova forma recomendada de autenticar com os Artefactos do Azure e outros repositórios NuGet. Os restore
comandos e push
desta tarefa da CLI do .NET Core já não assumem novas funcionalidades e apenas são resolvidos erros críticos. Veja as observações 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ório. Valores permitidos: build
, push
(nuget push), pack
, publish
, restore
, run
, test
, . custom
Valor predefinido: build
.
O comando dotnet a executar. Especifique custom
para adicionar argumentos ou utilizar um comando não listado aqui.
Importante
A tarefa Autenticar NuGet é a nova forma recomendada de autenticar com os Artefactos do Azure e outros repositórios NuGet. Os restore
comandos e push
desta tarefa da CLI do .NET Core já não assumem novas funcionalidades e apenas são resolvidos erros críticos. Veja as observações para obter detalhes.
publishWebProjects
- Publicar projetos Web
boolean
. Opcional. Utilize quando command = publish
. Valor predefinido: true
.
Se esta entrada estiver definida como true
, o valor da projects
propriedade é ignorado e a tarefa tenta localizar os projetos Web no repositório e executar o comando publicar nos mesmos. Os projetos Web são identificados pela presença de um web.config
ficheiro ou de uma wwwroot
pasta no diretório. Na ausência de um web.config
ficheiro ou de uma wwwroot
pasta, os projetos que utilizam um SDK Web, como Microsoft.NET.Sdk.Web
, estão selecionados.
publishWebProjects
- Publicar Projetos Web
boolean
. Opcional. Utilize quando command = publish
. Valor predefinido: true
.
Se esta entrada estiver definida como true
, o valor da projects
propriedade é ignorado e a tarefa tenta localizar os projetos Web no repositório e executar o comando publicar nos mesmos. Os projetos Web são identificados pela presença de um web.config
ficheiro ou de uma wwwroot
pasta no diretório. Na ausência de um web.config
ficheiro ou de uma wwwroot
pasta, os projetos que utilizam um SDK Web, como Microsoft.NET.Sdk.Web
, estão selecionados.
projects
- Caminho para projetos ou soluções
string
. Opcional. Utilize quando command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false
.
O caminho para os .csproj
ficheiros ou .sln
a utilizar. Pode utilizar carateres universais (por exemplo, **/*.csproj
para todos os .csproj
ficheiros em todas as subpastas). Para obter mais informações, veja a referência de padrões de correspondência de ficheiros.
Este caminho é relativo à raiz do repositório, independentemente da workingDirectory
definição.
projects
- Caminho para projeto(s)
string
. Opcional. Utilize quando command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false
.
O caminho para os .csproj
ficheiros a utilizar. Pode utilizar carateres universais (por exemplo, **/*.csproj
para todos os .csproj
ficheiros em todas as subpastas). Para obter mais informações, veja a referência de padrões de correspondência de ficheiros.
Este caminho é relativo à raiz do repositório, independentemente da workingDirectory
definição.
custom
- Comando personalizado
string
. Necessário quando command = custom
.
O comando a passar para para a dotnet.exe
execução. Para obter uma lista completa dos comandos disponíveis, veja a documentação da CLI dotnet.
arguments
- Argumentos
string
. Opcional. Utilize quando command = build || command = publish || command = run || command = test || command = custom
.
Especifica os argumentos para o comando selecionado. Por exemplo, configuração de compilação, pasta de saída e runtime. Os argumentos dependem do comando selecionado.
Atualmente, esta entrada só aceita argumentos para build
, publish
, run
, test
e custom
. Se quiser adicionar argumentos para um comando não listado, utilize custom
.
restoreArguments
- Argumentos
string
. Opcional. Utilize quando command = restore
.
Escreve os argumentos adicionais a serem transmitidos para o restore
comando.
publishTestResults
- Publicar resultados de teste e cobertura de código
boolean
. Opcional. Utilize quando command = test
. Valor predefinido: true
.
Ativar esta opção irá gerar um test results
ficheiro TRX no $(Agent.TempDirectory)
e os resultados serão publicados no servidor.
Esta opção é anexada aos argumentos --logger trx --results-directory $(Agent.TempDirectory)
da linha de comandos.
A cobertura do código pode ser recolhida ao adicionar a opção --collect "Code coverage"
aos argumentos da linha de comandos.
testRunTitle
- Título da execução de teste
string
. Opcional. Utilize quando command = test
.
Fornece um nome para a execução de teste.
zipAfterPublish
- Projetos publicados pelo Zip
boolean
. Opcional. Utilize quando command = publish
. Valor predefinido: true
.
Se esta entrada estiver definida como true
, as pastas criadas pelo comando publicar serão zipadas e eliminadas.
zipAfterPublish
- Zip Published Projects
boolean
. Opcional. Utilize quando command = publish
. Valor predefinido: true
.
Se esta entrada estiver definida como true
, a pasta criada pelo comando de publicação será zipada e eliminada.
modifyOutputPath
- Adicionar o nome da pasta do projeto para publicar o caminho
boolean
. Opcional. Utilize quando command = publish
. Valor predefinido: true
.
Se esta entrada estiver definida como true
, as pastas criadas pelo comando publish terão o nome do ficheiro do projeto prefixado nos respetivos nomes de pastas quando o caminho de saída for especificado explicitamente nos argumentos. Isto é útil se quiser publicar vários projetos na mesma pasta.
modifyOutputPath
- Adicionar o nome do projeto ao caminho de publicação
boolean
. Opcional. Utilize quando command = publish
. Valor predefinido: true
.
Se esta entrada estiver definida como true
, as pastas criadas pelo comando publish terão o nome do ficheiro do projeto prefixado nos respetivos nomes de pastas quando o caminho de saída for especificado explicitamente nos argumentos. Isto é útil se quiser publicar vários projetos na mesma pasta.
feedsToUse
- Feeds a utilizar
Alias de entrada: selectOrConfig
. string
. Necessário quando command = restore
. Valores permitidos: select
(Feed(s) seleciono aqui), config
(Feeds no meu NuGet.config). Valor predefinido: select
.
Pode selecionar um feed a partir dos Artefactos do Azure e/ou NuGet.org
aqui ou pode consolidar um nuget.config
ficheiro no repositório de código fonte e definir o respetivo caminho com a nugetConfigPath
entrada.
vstsFeed
- Utilizar pacotes deste feed de Artefactos do Azure
Alias de entrada: feedRestore
. string
. Opcional. Utilize quando selectOrConfig = select && command = restore
.
Inclui o feed selecionado no NuGet.config
. Tem de ter a Gestão de Pacotes instalada e licenciada para selecionar um feed aqui. projectName
/feedName
são utilizados para feeds com âmbito de projeto. Só FeedName
é utilizado para feeds no âmbito da organização. Nota: isto não é suportado para o comando de teste.
vstsFeed
- Utilizar pacotes deste feed artefactos/TFS do Azure
Alias de entrada: feedRestore
. string
. Opcional. Utilize quando selectOrConfig = select && command = restore
.
Inclui o feed selecionado no NuGet.config
. Tem de ter a Gestão de Pacotes instalada e licenciada para selecionar um feed aqui. projectName
/feedName
são utilizados para feeds com âmbito de projeto. Só FeedName
é utilizado para feeds no âmbito da organização. Nota: isto não é suportado para o comando de teste.
includeNuGetOrg
- Utilizar pacotes de NuGet.org
boolean
. Opcional. Utilize quando selectOrConfig = select && command = restore
. Valor predefinido: true
.
Inclui NuGet.org
no . gerado NuGet.config
.
nugetConfigPath
- Caminho para NuGet.config
string
. Opcional. Utilize quando selectOrConfig = config && command = restore
.
No NuGet.config
repositório que especifica os feeds a partir dos quais pode restaurar pacotes.
externalFeedCredentials
- Credenciais para feeds fora desta organização/coleção
Alias de entrada: externalEndpoints
. string
. Opcional. Utilize quando selectOrConfig = config && command = restore
.
As credenciais a utilizar para registos externos localizados no NuGet.config
. Para feeds nesta organização/coleção, deixe esta entrada em branco; As credenciais da compilação são utilizadas automaticamente.
noCache
- Desativar a cache local
boolean
. Opcional. Utilize quando command = restore
. Valor predefinido: false
.
Impede o NuGet de utilizar pacotes de caches de máquinas locais.
restoreDirectory
- Diretório de destino
Alias de entrada: packagesDirectory
. string
. Opcional. Utilize quando command = restore
.
Especifica a pasta na qual os pacotes são instalados. Se não for especificada nenhuma pasta, os pacotes são restaurados para a cache de pacote NuGet predefinida.
verbosityRestore
- Verbosidade
string
. Opcional. Utilize quando command = restore
. Valores permitidos: -
, Quiet
, Minimal
, Normal
, Detailed
, Diagnostic
. Valor predefinido: Detailed
.
Especifica a quantidade de detalhes apresentada na saída do restore
comando.
packagesToPush
- Caminho para o(s) pacote(s) NuGet para publicar
Alias de entrada: searchPatternPush
. string
. Necessário quando command = push
. Valor predefinido: $(Build.ArtifactStagingDirectory)/*.nupkg
.
O padrão para corresponder ou caminho para nupkg
ficheiros a carregar. Vários padrões podem ser separados por ponto e vírgula e pode tornar um padrão negativo ao prefixá-lo com !
. Exemplo: **/*.nupkg;!**/*.Tests.nupkg
.
nuGetFeedType
- Localização do feed de destino
string
. Necessário quando command = push
. Valores permitidos: internal
(Esta organização/coleção), external
(servidor NuGet Externo (incluindo outras organizações/coleções)). Valor predefinido: internal
.
Especifica se o feed de destino é interno ou externo.
publishVstsFeed
- Feed de destino
Alias de entrada: feedPublish
. string
. Necessário quando command = push && nuGetFeedType = internal
.
Especifica um feed alojado nesta organização. Tem de ter a Gestão de Pacotes instalada e licenciada para selecionar um feed aqui.
publishPackageMetadata
- Publicar metadados do pipeline
boolean
. Opcional. Utilize quando command = push && nuGetFeedType = internal && command = push
. Valor predefinido: true
.
Associa os metadados deste pipeline de compilação/versão (execute #, informações de código fonte) ao pacote.
publishFeedCredentials
- Servidor NuGet
Alias de entrada: externalEndpoint
. string
. Necessário quando command = push && nuGetFeedType = external
.
A ligação de serviço NuGet que contém as credenciais externas do servidor NuGet.
packagesToPack
- Caminho para o(s) ficheiro(s) csproj ou nuspec para embalar
Alias de entrada: searchPatternPack
. string
. Necessário quando command = pack
. Valor predefinido: **/*.csproj
.
O padrão a procurar .csproj
ou .nuspec
ficheiros a empacotar.
Pode separar múltiplos padrões com um ponto e vírgula e tornar um padrão negativo ao prefixá-lo com !
. Exemplo: **/*.csproj;!**/*.Tests.csproj
.
configuration
- Configuração para Pacote
Alias de entrada: configurationToPack
. string
. Opcional. Utilize quando command = pack
. Valor predefinido: $(BuildConfiguration)
.
Ao utilizar um .csproj
ficheiro, esta entrada especifica a configuração para empacotar.
packDirectory
- Pasta do Pacote
Alias de entrada: outputDir
. string
. Opcional. Utilize quando command = pack
. Valor predefinido: $(Build.ArtifactStagingDirectory)
.
A pasta onde os pacotes serão criados. Se esta pasta estiver vazia, os pacotes serão criados juntamente com o csproj
ficheiro.
nobuild
- Não criar
boolean
. Opcional. Utilize quando command = pack
. Valor predefinido: false
.
Especifica que a tarefa não irá criar o projeto antes de empacotar. Esta tarefa corresponde ao --no-build
parâmetro do build
comando.
includesymbols
- Incluir Símbolos
boolean
. Opcional. Utilize quando command = pack
. Valor predefinido: false
.
Cria pacotes NuGet de símbolo. Esta tarefa corresponde ao parâmetro da --include-symbols
linha de comandos.
includesource
- Incluir Origem
boolean
. Opcional. Utilize quando command = pack
. Valor predefinido: false
.
Inclui código fonte no pacote. Esta tarefa corresponde ao parâmetro da --include-source
linha de comandos.
versioningScheme
- Controlo de versões automática do pacote
string
. Necessário quando command = pack
. Valores permitidos: off
, byPrereleaseNumber
(Utilize a data e hora), byEnvVar
(Utilize uma variável de ambiente) byBuildNumber
(Utilize o número de compilação). Valor predefinido: off
.
Esta tarefa não pode ser utilizada com projetos referenciados incluídos. Se escolher Use the date and time
, isto irá gerar uma versão compatível com SemVer formatada como X.Y.Z-ci-datetime
onde escolher X
, Y
e Z
.
Se escolher Use an environment variable
, tem de selecionar uma variável de ambiente e garantir que contém o número da versão que pretende utilizar.
Se escolher Use the build number
, este procedimento utilizará o número de compilação para a versão do seu pacote. Nota: Em Options
, defina o formato de número de compilação como $(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
.
versionEnvVar
- Variável de ambiente
string
. Necessário quando versioningScheme = byEnvVar && command = pack
.
Especifica o nome da variável sem $
, $env
ou %
.
majorVersion
- Principal
Alias de entrada: requestedMajorVersion
. string
. Necessário quando versioningScheme = byPrereleaseNumber && command = pack
. Valor predefinido: 1
.
A X
versão in X.Y.Z.
minorVersion
- Menor
Alias de entrada: requestedMinorVersion
. string
. Necessário quando versioningScheme = byPrereleaseNumber && command = pack
. Valor predefinido: 0
.
A Y
versão in X.Y.Z.
patchVersion
- Patch
Alias de entrada: requestedPatchVersion
. string
. Necessário quando versioningScheme = byPrereleaseNumber && command = pack
. Valor predefinido: 0
.
A Z
versão in X.Y.Z.
buildProperties
- Propriedades de compilação adicionais
string
. Opcional. Utilize quando command = pack
.
Especifica uma lista de token = value
pares, separados por pontos e vírgulas, em que cada ocorrência de $token$
no .nuspec
ficheiro será substituída pelo valor especificado. Os valores podem ser cadeias em aspas.
verbosityPack
- Verbosidade
string
. Opcional. Utilize quando command = pack
. Valores permitidos: -
, Quiet
, Minimal
, Normal
, Detailed
, Diagnostic
. Valor predefinido: Detailed
.
Especifica a quantidade de detalhes apresentada na saída do pack
comando.
workingDirectory
- Diretório de trabalho
string
. Opcional. Utilize quando command != restore && command != push && command != pack && command != pack && command != push && command != restore
.
O diretório de trabalho atual onde o script é executado. Empty
é a raiz do repositório (compilação) ou artefactos (versão), que é $(System.DefaultWorkingDirectory)
.
workingDirectory
- Diretório de Trabalho
string
. Opcional. Utilize quando command != pack && command != push && command != restore
.
O diretório de trabalho atual onde o script é executado. Empty
é a raiz do repositório (compilação) ou artefactos (versão), que é $(System.DefaultWorkingDirectory)
.
Opções de controlo de tarefas
Todas as tarefas têm opções de controlo para além das entradas de tarefas. Para obter mais informações, veja Opções de controlo e propriedades de tarefas comuns.
Variáveis de saída
Nenhum.
Observações
Importante
A tarefa Autenticar NuGet é a nova forma recomendada de autenticar com os Artefactos do Azure e outros repositórios NuGet. Os restore
comandos e push
desta tarefa da CLI do .NET Core já não assumem novas funcionalidades e apenas são resolvidos erros críticos.
Porque é que a minha compilação, publicação ou passo de teste está a falhar ao restaurar pacotes?
A maioria dos dotnet
comandos, incluindo build
, publish
e test
incluem um passo implícito restore
. Isto irá falhar nos feeds autenticados, mesmo que tenha executado com êxito dotnet restore
num passo anterior, porque o passo anterior terá limpo as credenciais que utilizou.
Para corrigir este 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 desta forma não serão incluídos no ficheiro gerado NuGet.config
quando o passo implícito restore
for executado. Recomenda-se que seja utilizado um passo explícito dotnet restore
para restaurar pacotes. O restore
comando respeita os feedRestore
argumentos e vstsFeed
.
Por que motivo estou a receber avisos NU1507 com o Mapeamento de Origem de Pacotes , embora ao criar no meu computador não tenha avisos?
Os vários comandos que fazem um restauro NuGet ou acedem a um feed NuGet criam um ficheiro temporário NuGet.config
especial que adiciona autenticação NuGet para feeds NuGet de artefactos do Azure. A forma como isto é feito está em conflito com o esquema que o Mapeamento de Origem do Pacote utiliza para mapear os pacotes para as origens e quebra a configuração do Mapa de Origem do NuGet.config
Pacote no ficheiro no seu repositório.
Para contornar este conflito, pode utilizar a tarefa Autenticar NuGet para autenticar e, posteriormente, o comando personalizado para invocar o comando dotnet pretendido 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 devo dar entrada de um NuGet.config?
A verificação de um NuGet.config
controlo de origem garante que uma informação importante necessária para criar o projeto ( a localização dos pacotes) está disponível para todos os programadores que verificam o seu código.
No entanto, para situações em que uma equipa de programadores trabalha numa grande variedade de projetos, também é possível adicionar um feed artefactos do Azure ao global NuGet.config
no computador de cada programador. Nestas situações, utilizar a opção Feeds I select here
na tarefa NuGet replica esta configuração.
Resolução de problemas
O Projeto com o Entity Framework deixou de funcionar em Agentes Alojados
O .NET Core não tem o Entity Framework (EF) incorporado. Terá de instalar o EF antes de iniciar a execução ou adicionar global.json
ao projeto com a versão necessária do SDK .NET Core. Isto irá garantir que o SDK correto é utilizado para criar 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, veja Get the Entity Framework Core runtime (Obter o runtime do Entity Framework Core).
Exemplos
- Criar exemplos
- Exemplos push
- Exemplos push
- Exemplos de pacotes
- Publicar exemplos
- Restaurar exemplos
- Exemplos de teste
Criar exemplos
Criar um projeto
# Build project
- task: DotNetCoreCLI@2
inputs:
command: 'build'
Criar Vários Projetos
# 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 push
Enviar pacotes NuGet 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 para feed externo
# Push all NuGet packages from a build to external Feed
- task: DotNetCoreCLI@2
inputs:
command: 'push'
nugetFeedType: 'external'
externalEndPoint: 'MyNuGetServiceConnection'
Exemplos de pacotes
Embale um NuGetPackage para 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
Restaurar exemplos
#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 | Description |
---|---|
Tipos de pipeline | YAML, Compilação clássica, Versão clássica |
É executado em | Agente |
Exigências | Nenhuma |
Capacidades | Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes na tarefa. |
Restrições de comandos | Qualquer |
Variáveis de tabelas definidas | Qualquer |
Versão do agente | 2.144.0 ou superior |
Categoria da tarefa | Compilação |
Requisito | Description |
---|---|
Tipos de pipeline | YAML, Compilação clássica, Versão clássica |
É executado em | Agente |
Exigências | Nenhuma |
Capacidades | Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes na tarefa. |
Restrições de comandos | Qualquer |
Variáveis de tabelas definidas | Qualquer |
Versão do agente | 2.115.0 ou superior |
Categoria da tarefa | Compilação |
Requisito | Description |
---|---|
Tipos de pipeline | YAML, Compilação clássica, Versão clássica |
É executado em | Agente |
Exigências | Nenhuma |
Capacidades | Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes na tarefa. |
Restrições de comandos | Qualquer |
Variáveis de tabelas definidas | Qualquer |
Versão do agente | 2.0.0 ou superior |
Categoria da tarefa | Compilação |