Поделиться через


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-buildbuild команды .


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 или более поздней версии
Категория задач Сборка