DotNetCoreCLI@2 — задача .NET Core версии 2
Создание, тестирование, упаковка или публикация приложения dotnet или выполнение пользовательской команды dotnet.
Создание, тестирование, упаковка или публикация приложения dotnet или выполнение пользовательской команды dotnet. Для команд пакета поддерживаются NuGet.org и веб-каналы с проверкой подлинности, такие как "Управление пакетами" и MyGet.
Важно!
Задача Проверки подлинности NuGet — это новый рекомендуемый способ проверки подлинности с помощью Azure Artifacts и других репозиториев NuGet. Команды restore
и push
этой задачи CLI .NET Core больше не используют новые функции и устраняются только критические ошибки. Дополнительные сведения см. в примечаниях.
Синтаксис
# .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.
Входные данные
command
- Команды
string
. Обязательный. Допустимые значения: build
, push
(nuget push), pack
, publish
, restore
, run
, test
, . custom
Значение по умолчанию: build
.
Выполняемая команда dotnet. Укажите custom
для добавления аргументов или используйте команду, не указанную здесь.
Важно!
Задача Проверки подлинности NuGet — это новый рекомендуемый способ проверки подлинности с помощью Azure Artifacts и других репозиториев NuGet. Команды restore
и push
этой задачи CLI .NET Core больше не используют новые функции и устраняются только критические ошибки. Дополнительные сведения см. в примечаниях.
publishWebProjects
- Публикация веб-проектов
boolean
. Необязательный элемент. Используйте при command = publish
. Значение по умолчанию: true
.
Если для этих входных данных задано значение true
, projects
значение свойства пропускается, а задача пытается найти веб-проекты в репозитории и выполнить для них команду публикации. Веб-проекты определяются наличием web.config
файла или wwwroot
папки в каталоге. При отсутствии web.config
файла или wwwroot
папки выбираются проекты, использующие веб-пакет SDK, например Microsoft.NET.Sdk.Web
, .
publishWebProjects
- Публикация веб-проектов
boolean
. Необязательный элемент. Используйте при command = publish
. Значение по умолчанию: true
.
Если для этих входных данных задано значение true
, projects
значение свойства пропускается, а задача пытается найти веб-проекты в репозитории и выполнить для них команду публикации. Веб-проекты определяются наличием web.config
файла или wwwroot
папки в каталоге. При отсутствии web.config
файла или wwwroot
папки выбираются проекты, использующие веб-пакет SDK, например Microsoft.NET.Sdk.Web
, .
projects
- Путь к проектам или решениям
string
. Необязательный элемент. Используйте при command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false
.
Путь к используемым .csproj
файлам или .sln
. Можно использовать подстановочные знаки (например **/*.csproj
, для всех .csproj
файлов во всех вложенных папках). Дополнительные сведения см. в справочнике по шаблонам сопоставления файлов.
Этот путь относительно корня репозитория независимо от workingDirectory
параметра.
projects
- Путь к проектам
string
. Необязательный элемент. Используйте при command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false
.
Путь к используемым .csproj
файлам. Можно использовать подстановочные знаки (например **/*.csproj
, для всех .csproj
файлов во всех вложенных папках). Дополнительные сведения см. в справочнике по шаблонам сопоставления файлов.
Этот путь относительно корня репозитория независимо от workingDirectory
параметра.
custom
- Пользовательская команда
string
. Требуется при .command = custom
Команда, передаваемая dotnet.exe
для выполнения. Полный список доступных команд см. в документации по интерфейсу командной строки dotnet.
arguments
- Аргументы
string
. Необязательный элемент. Используйте при command = build || command = publish || command = run || command = test || command = custom
.
Указывает аргументы для выбранной команды. Например, конфигурация сборки, выходная папка и среда выполнения. Аргументы зависят от выбранной команды.
В настоящее время эти входные данные принимают только аргументы для build
, publish
, run
, test
и custom
. Если вы хотите добавить аргументы для команды, не указанной в списке, используйте custom
.
restoreArguments
- Аргументы
string
. Необязательный элемент. Используйте при command = restore
.
Записывает дополнительные аргументы, которые будут переданы в restore
команду .
publishTestResults
- Публикация результатов тестирования и покрытия кода
boolean
. Необязательный элемент. Используйте при command = test
. Значение по умолчанию: true
.
При включении этого параметра будет создан test results
TRX-файл в $(Agent.TempDirectory)
, а результаты будут опубликованы на сервере.
Этот параметр добавляет --logger trx --results-directory $(Agent.TempDirectory)
к аргументам командной строки.
Объем протестированного кода можно собрать, --collect "Code coverage"
добавив параметр в аргументы командной строки.
testRunTitle
- Заголовок тестового запуска
string
. Необязательный элемент. Используйте при command = test
.
Предоставляет имя тестового запуска.
zipAfterPublish
- Опубликованные проекты zip
boolean
. Необязательный элемент. Используйте при command = publish
. Значение по умолчанию: true
.
Если для этого входного параметра задано значение true
, папки, созданные командой публикации, будут zip-архивироваться и удаляться.
zipAfterPublish
- Zip-файл опубликованных проектов
boolean
. Необязательный элемент. Используйте при command = publish
. Значение по умолчанию: true
.
Если для этого входного параметра задано значение true
, папка, созданная командой публикации, будет zip-файл и удалена.
modifyOutputPath
- Добавление имени папки проекта для пути публикации
boolean
. Необязательный элемент. Используйте при command = publish
. Значение по умолчанию: true
.
Если для этих входных данных задано значение true
, папки, созданные командой публикации, будут иметь имя файла проекта с префиксом к именам папок, если выходной путь явно указан в аргументах. Это полезно, если вы хотите опубликовать несколько проектов в одной папке.
modifyOutputPath
- Добавление имени проекта в путь публикации
boolean
. Необязательный элемент. Используйте при command = publish
. Значение по умолчанию: true
.
Если для этих входных данных задано значение true
, папки, созданные командой публикации, будут иметь имя файла проекта с префиксом к именам папок, если выходной путь явно указан в аргументах. Это полезно, если вы хотите опубликовать несколько проектов в одной папке.
feedsToUse
- Используемые веб-каналы
Входной псевдоним: selectOrConfig
. string
. Требуется, если command = restore
. Допустимые значения: select
(Каналы, которые я выбираю здесь), config
(Веб-каналы в моем NuGet.config). Значение по умолчанию: select
.
Вы можете выбрать веб-канал из Azure Artifacts и (или) NuGet.org
здесь или зафиксировать nuget.config
файл в репозитории исходного кода и задать путь к нему с помощью nugetConfigPath
входных данных.
vstsFeed
- Использование пакетов из этого веб-канала Azure Artifacts
Входной псевдоним: feedRestore
. string
. Необязательный элемент. Используйте при selectOrConfig = select && command = restore
.
Включает выбранный веб-канал в созданный NuGet.config
. Для выбора веб-канала необходимо установить и лицензировать управление пакетами. projectName
/feedName
используются для веб-каналов в области проекта. Используется только FeedName
для веб-каналов с областью организации. Примечание. Это не поддерживается для команды test.
vstsFeed
- Использование пакетов из этого веб-канала Azure Artifacts/TFS
Входной псевдоним: feedRestore
. string
. Необязательный элемент. Используйте при selectOrConfig = select && command = restore
.
Включает выбранный веб-канал в созданный NuGet.config
. Для выбора веб-канала необходимо установить и лицензировать управление пакетами. projectName
/feedName
используются для веб-каналов в области проекта. Используется только FeedName
для веб-каналов с областью организации. Примечание. Это не поддерживается для команды test.
includeNuGetOrg
- Использование пакетов из NuGet.org
boolean
. Необязательный элемент. Используйте при selectOrConfig = select && command = restore
. Значение по умолчанию: true
.
Включает NuGet.org
в созданный NuGet.config
объект .
nugetConfigPath
- Путь к NuGet.config
string
. Необязательный элемент. Используйте при selectOrConfig = config && command = restore
.
Объект NuGet.config
в репозитории, указывающий веб-каналы, из которых восстанавливаются пакеты.
externalFeedCredentials
- Учетные данные для веб-каналов за пределами этой организации или коллекции
Входной псевдоним: externalEndpoints
. string
. Необязательный элемент. Используйте при selectOrConfig = config && command = restore
.
Учетные данные, используемые для внешних реестров, расположенных в выбранном NuGet.config
. Для веб-каналов в этой организации или коллекции оставьте эти входные данные пустыми; учетные данные сборки используются автоматически.
noCache
- Отключение локального кэша
boolean
. Необязательный элемент. Используйте при command = restore
. Значение по умолчанию: false
.
Запрещает NuGet использовать пакеты из кэшей локальных компьютеров.
restoreDirectory
- Целевой каталог
Входной псевдоним: packagesDirectory
. string
. Необязательный элемент. Используйте при command = restore
.
Указывает папку, в которую устанавливаются пакеты. Если папка не указана, пакеты восстанавливаются в кэш пакетов NuGet по умолчанию.
verbosityRestore
- Детализации
string
. Необязательный элемент. Используйте при command = restore
. Допустимые значения: -
, Quiet
, Minimal
, Normal
, Detailed
, Diagnostic
. Значение по умолчанию: Detailed
.
Указывает объем сведений, отображаемых в выходных данных для restore
команды.
packagesToPush
- Путь к пакетам NuGet для публикации
Входной псевдоним: searchPatternPush
. string
. Требуется, если command = push
. Значение по умолчанию: $(Build.ArtifactStagingDirectory)/*.nupkg
.
Шаблон для сопоставления или путь к файлам nupkg
для отправки. Несколько шаблонов можно разделить точкой с запятой, и вы можете сделать шаблон отрицательным, придав ему !
префикс . Например, **/*.nupkg;!**/*.Tests.nupkg
.
nuGetFeedType
- Расположение целевого канала
string
. Требуется, если command = push
. Допустимые значения: internal
(Эта организация или коллекция), external
(внешний сервер NuGet (включая другие организации или коллекции)). Значение по умолчанию: internal
.
Указывает, является ли целевой веб-канал внутренним или внешним.
publishVstsFeed
- Целевой веб-канал
Входной псевдоним: feedPublish
. string
. Требуется, если command = push && nuGetFeedType = internal
.
Указывает веб-канал, размещенный в этой организации. Для выбора веб-канала необходимо установить и лицензировать управление пакетами.
publishPackageMetadata
- Публикация метаданных конвейера
boolean
. Необязательный элемент. Используйте при command = push && nuGetFeedType = internal && command = push
. Значение по умолчанию: true
.
Связывает метаданные конвейера сборки или выпуска (run #, сведения об исходном коде) с пакетом.
publishFeedCredentials
- Сервер NuGet
Входной псевдоним: externalEndpoint
. string
. Требуется, если command = push && nuGetFeedType = external
.
Подключение к службе NuGet, содержащее учетные данные внешнего сервера NuGet.
packagesToPack
- Путь к файлам csproj или nuspec для упаковки
Входной псевдоним: searchPatternPack
. string
. Требуется, если command = pack
. Значение по умолчанию: **/*.csproj
.
Шаблон для поиска или .nuspec
файлы для .csproj
упаковки.
Вы можете разделить несколько шаблонов точкой с запятой и сделать шаблон отрицательным, указав для него !
префикс . Например, **/*.csproj;!**/*.Tests.csproj
.
configuration
- Настройка для упаковки
Входной псевдоним: configurationToPack
. string
. Необязательный элемент. Используйте при command = pack
. Значение по умолчанию: $(BuildConfiguration)
.
При использовании .csproj
файла эти входные данные указывают конфигурацию для упаковки.
packDirectory
- Папка пакета
Входной псевдоним: outputDir
. string
. Необязательный элемент. Используйте при command = pack
. Значение по умолчанию: $(Build.ArtifactStagingDirectory)
.
Папка, в которой будут созданы пакеты. Если эта папка пуста, вместе с файлом csproj
будут созданы пакеты.
nobuild
- Не выполнять сборку
boolean
. Необязательный элемент. Используйте при command = pack
. Значение по умолчанию: false
.
Указывает, что задача не будет создавать проект перед упаковкой. Эта задача соответствует параметру --no-build
build
команды .
includesymbols
- Включить символы
boolean
. Необязательный элемент. Используйте при command = pack
. Значение по умолчанию: false
.
Создает символьные пакеты NuGet. Эта задача соответствует параметру командной --include-symbols
строки.
includesource
- Включить источник
boolean
. Необязательный элемент. Используйте при command = pack
. Значение по умолчанию: false
.
Включает исходный код в пакет. Эта задача соответствует параметру командной --include-source
строки.
versioningScheme
- Автоматическое управление версиями пакетов
string
. Требуется при .command = pack
Допустимые значения: off
, byPrereleaseNumber
(используйте дату и время), byEnvVar
(используйте переменную среды), byBuildNumber
(используйте номер сборки). Значение по умолчанию: off
.
Эту задачу нельзя использовать с включенными проектами, на которые ссылается ссылка. При выборе Use the date and time
будет создана версия, совместимая с SemVer, в формате X.Y.Z-ci-datetime
, где вы выбираете X
, Y
и Z
.
При выборе Use an environment variable
необходимо выбрать переменную среды и убедиться, что она содержит номер версии, которую вы хотите использовать.
При выборе Use the build number
будет использоваться номер сборки для версии пакета. Примечание: В разделе Options
задайте для числового формата сборки $(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
значение .
versionEnvVar
- Переменная среды
string
. Требуется при .versioningScheme = byEnvVar && command = pack
Задает имя переменной без $
, $env
или %
.
majorVersion
- Основных
Входной псевдоним: requestedMajorVersion
. string
. Требуется при .versioningScheme = byPrereleaseNumber && command = pack
Значение по умолчанию: 1
.
В X
версии X.Y.Z.
minorVersion
- Незначительные
Входной псевдоним: requestedMinorVersion
. string
. Требуется при .versioningScheme = byPrereleaseNumber && command = pack
Значение по умолчанию: 0
.
В Y
версии X.Y.Z.
patchVersion
- Патч
Входной псевдоним: requestedPatchVersion
. string
. Требуется при .versioningScheme = byPrereleaseNumber && command = pack
Значение по умолчанию: 0
.
В Z
версии X.Y.Z.
buildProperties
- Дополнительные свойства сборки
string
. Необязательный элемент. Используйте при command = pack
.
Задает список token = value
пар, разделенных точкой с запятой, где каждое вхождение $token$
в .nuspec
файле будет заменено заданным значением. Значения могут быть строками в кавычках.
verbosityPack
- Детализации
string
. Необязательный элемент. Используйте при command = pack
. Допустимые значения: -
, Quiet
, Minimal
, Normal
, Detailed
, . Diagnostic
Значение по умолчанию: Detailed
.
Указывает объем сведений, отображаемых в выходных данных команды pack
.
workingDirectory
- Рабочий каталог
string
. Необязательный элемент. Используйте при command != restore && command != push && command != pack && command != pack && command != push && command != restore
.
Текущий рабочий каталог, в котором выполняется скрипт. Empty
— это корень репозитория (сборка) или артефактов (выпуск), который имеет значение $(System.DefaultWorkingDirectory)
.
workingDirectory
- Рабочий каталог
string
. Необязательный элемент. Используйте при command != pack && command != push && command != restore
.
Текущий рабочий каталог, в котором выполняется скрипт. Empty
— это корень репозитория (сборка) или артефактов (выпуск), который имеет значение $(System.DefaultWorkingDirectory)
.
Параметры управления задачами
Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задачи.
Выходные переменные
Нет.
Remarks
Важно!
Задача Проверки подлинности NuGet — это новый рекомендуемый способ проверки подлинности с помощью Azure Artifacts и других репозиториев NuGet. Команды restore
и push
этой задачи CLI .NET Core больше не используют новые функции и устраняются только критические ошибки.
Почему на моем этапе сборки, публикации или тестирования не удается восстановить пакеты?
Большинство dotnet
команд, включая build
, publish
и test
, включают неявный restore
шаг. Это приведет к сбою для веб-каналов, прошедших проверку подлинности, даже если вы успешно dotnet restore
выполнили на предыдущем шаге, так как на предыдущем шаге будут удалены используемые учетные данные.
Чтобы устранить эту проблему, добавьте --no-restore
флаг в текстовое Arguments
поле.
Кроме того, test
команда не распознает feedRestore
аргументы или vstsFeed
, а каналы, указанные таким образом, не будут включены в созданный NuGet.config
файл при выполнении неявного restore
шага. Для восстановления пакетов рекомендуется использовать явный dotnet restore
шаг. Команда restore
учитывает аргументы feedRestore
и vstsFeed
.
Почему я получаю предупреждения NU1507 при сопоставлении источника пакетов , хотя при сборке на моем компьютере предупреждения отсутствуют?
Различные команды, которые выполняют восстановление NuGet или доступ к веб-каналу NuGet, создают специальный временный NuGet.config
файл, который добавляет проверку подлинности NuGet для веб-каналов NuGet артефактов Azure. То, как это делается, конфликтует со схемой, которая используется для сопоставления пакетов с источниками и нарушает конфигурацию mappin источника пакетов в NuGet.config
файле в репозитории.
Чтобы обойти этот конфликт, можно использовать задачу NuGet Authenticate для проверки подлинности, а затем пользовательскую команду для вызова нужной команды dotnet без NuGet.config
изменений.
# 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'
Зачем проверка в NuGet.config?
Проверка в системе NuGet.config
управления версиями гарантирует, что ключевой элемент информации, необходимый для сборки проекта, — расположение его пакетов — будет доступен каждому разработчику, который извлекает ваш код.
Однако в ситуациях, когда команда разработчиков работает над большим спектром проектов, можно также добавить веб-канал Azure Artifacts в глобальный NuGet.config
на компьютере каждого разработчика. В таких ситуациях использование Feeds I select here
параметра в задаче NuGet реплицирует эту конфигурацию.
Устранение неполадок
Проект, использующий Entity Framework, перестал работать с размещенными агентами
В .NET Core нет встроенной платформы Entity Framework (EF). Перед началом выполнения необходимо установить EF или добавить global.json
в проект требуемую версию пакета SDK для .NET Core. Это обеспечит использование правильного пакета SDK для сборки проекта EF. Если требуемая версия отсутствует на компьютере, добавьте задачу в UseDotNetV2
конвейер, чтобы установить требуемую версию. Дополнительные сведения см. в статье Получение среды выполнения Entity Framework Core.
Примеры
- Примеры сборки
- Примеры отправки
- Примеры отправки
- Примеры пакетов
- Примеры публикации
- Примеры восстановления
- Примеры тестирования
Примеры сборки
Построение проекта
# Build project
- task: DotNetCoreCLI@2
inputs:
command: 'build'
Создание нескольких проектов
# 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.
Примеры отправки
Отправка пакетов NuGet во внутренний веб-канал
# 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'
Отправка пакетов NuGet во внешний веб-канал
# Push all NuGet packages from a build to external Feed
- task: DotNetCoreCLI@2
inputs:
command: 'push'
nugetFeedType: 'external'
externalEndPoint: 'MyNuGetServiceConnection'
Примеры пакетов
Упаковка Пакета NuGetPackage в определенный выходной каталог
# Pack a NuGet package to a test directory
- task: DotNetCoreCLI@2
inputs:
command: 'pack'
outputDir: '$(Build.ArtifactStagingDirectory)/TestDir'
Упаковка пакета символов
# Pack a symbol package along with NuGet package
- task: DotNetCoreCLI@2
inputs:
command: 'pack'
includesymbols: true
Примеры публикации
Публикация проектов в указанной папке
# 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
Примеры восстановления
#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
Примеры тестирования
Выполнение тестов в репозитории
# Run tests and auto publish test results.
- task: DotNetCoreCLI@2
inputs:
command: 'test'
Требования
Требование | Описание |
---|---|
Типы конвейеров | YAML, классическая сборка, классический выпуск |
Выполняется в | Агент |
Требования | None |
Capabilities | Эта задача не удовлетворяет требованиям для последующих задач в задании. |
Ограничения команд | Любой |
Устанавливаемые переменные | Любой |
Версия агента | 2.144.0 или более поздней версии |
Категория задач | Сборка |
Требование | Описание |
---|---|
Типы конвейеров | YAML, классическая сборка, классический выпуск |
Выполняется в | Агент |
Требования | None |
Capabilities | Эта задача не удовлетворяет требованиям для последующих задач в задании. |
Ограничения команд | Любой |
Устанавливаемые переменные | Любой |
Версия агента | 2.115.0 или более поздней версии |
Категория задач | Сборка |
Требование | Описание |
---|---|
Типы конвейеров | YAML, классическая сборка, классический выпуск |
Выполняется в | Агент |
Требования | None |
Capabilities | Эта задача не удовлетворяет требованиям для последующих задач в задании. |
Ограничения команд | Любой |
Устанавливаемые переменные | Любой |
Версия агента | 2.0.0 или более поздней версии |
Категория задач | Сборка |