Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Создание, тестирование, упаковка или публикация приложения .NET или выполнение пользовательской команды .NET CLI.
Синтаксис
# .NET Core v2
# Build, test, package, or publish a .NET application, or run a custom .NET CLI command.
- task: DotNetCoreCLI@2
inputs:
#azureSubscription: # string. Alias: ConnectedServiceName. Azure Resource Manager connection.
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.
#requestTimeout: '300000' # string. Set timeout for package download request. Default: 300000.
# 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. Select from the dropdown or enter [project name/]feed name.
#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: 'Normal' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Optional. Use when command = restore. Verbosity. Default: Normal.
# Advanced
#publishPackageMetadata: true # boolean. Optional. Use when command = push && nuGetFeedType = internal. 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: 'Normal' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Optional. Use when command = pack. Verbosity. Default: Normal.
# Advanced
#workingDirectory: # string. Optional. Use when command != restore && command != push && command != pack. Working directory.
# .NET Core v2
# Build, test, package, or publish a .NET application, or run a custom .NET CLI 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. 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. Working directory.
# .NET Core v2
# Build, test, package, or publish a .NET application, or run a custom .NET CLI 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. 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. Working directory.
Входы
azureSubscription
-
подключение Azure Resource Manager
Псевдоним ввода: ConnectedServiceName.
string.
Укажите подключение службы Azure Resource Manager, настроенное с федерацией удостоверений рабочей нагрузки для использования AzurePipelinesCredential в тестах интеграции. Дополнительные сведения см. в статье Использование AzurePipelinesCredential в тестах интеграции.
Заметка
Эти входные данные поддерживают только подключения службы ARM, настроенные для использования федерации удостоверений рабочей нагрузки.
Команда command -
string. Обязательно. Допустимые значения: build, push (push-отправка nuget), pack, publish, restore, run, test, custom. Значение по умолчанию: build.
Команда dotnet для выполнения. Укажите custom, чтобы добавить аргументы или использовать команду, не указанную здесь.
Важный
Задача аутентификации NuGet — это новый рекомендуемый способ проверки подлинности с помощью Артефактов Azure и других репозиториев NuGet. Команды restore и push этой задачи интерфейса командной строки .NET Core больше не принимают новые функции и устраняются только критические ошибки. Дополнительные сведения см. в примечаниях.
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 CLI.
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), а результаты будут опубликованы на сервере.
Для VSTest эта опция добавляется --logger trx --results-directory $(Agent.TempDirectory) к аргументам командной строки.
Для Microsoft.Testing.Platform, при обнаружении тестового запускателя в global.json, эта опция добавляется --report-trx --results-directory $(Agent.TempDirectory) к аргументам командной строки.
Покрытие кода можно собрать, добавив --collect "Code coverage" опцию (для VSTest) или --coverage (для Microsoft.Testing.Platform) в аргументы командной строки.
testRunTitle
-
заголовок запуска теста
string. Необязательный. Используется при command = test.
Предоставляет имя тестового запуска.
zipAfterPublish
-
опубликованных проектов Zip
boolean. Необязательный. Используется при command = publish. Значение по умолчанию: true.
Если для этих входных данных задано значение true, папки, созданные командой публикации, будут архивироваться и удаляться.
modifyOutputPath
-
Добавление имени папки проекта для публикации пути
boolean. Необязательный. Используется при command = publish. Значение по умолчанию: true.
Если для этих входных данных задано значение true, папки, созданные командой публикации, будут иметь префикс имени файла проекта в имена папок при явном указании пути вывода в аргументах. Это полезно, если вы хотите опубликовать несколько проектов в одной папке.
веб-каналы feedsToUse - для использования
Псевдоним ввода: selectOrConfig.
string. Требуется, если command = restore. Допустимые значения: select (веб-каналы) я выбираем здесь), config (веб-каналы в моей NuGet.config). Значение по умолчанию: select.
Вы можете выбрать веб-канал из Артефактов Azure или NuGet.org здесь, либо зафиксировать файл nuget.config в репозиторий исходного кода и задать путь с помощью входных данных nugetConfigPath.
vstsFeed
-
Использовать пакеты из этого веб-канала артефактов Azure. Выберите в раскрывающемся списке или введите [имя проекта/]имя веб-канала.
Псевдоним ввода: feedRestore.
string. Необязательный. Используется при selectOrConfig = select && command = restore.
Включает выбранный веб-канал в созданной NuGet.config. Для выбора веб-канала необходимо установить и лицензировать управление пакетами.
projectName
/
feedName используются для веб-каналов с областью проекта. Для веб-каналов в области организации используется только FeedName. Примечание. Это не поддерживается для команды test.
vstsFeed
-
Использовать пакеты из этого веб-канала артефактов Azure
Псевдоним ввода: feedRestore.
string. Необязательный. Используется при selectOrConfig = select && command = restore.
Включает выбранный веб-канал в созданной NuGet.config. Для выбора веб-канала необходимо установить и лицензировать управление пакетами.
projectName
/
feedName используются для веб-каналов с областью проекта. Для веб-каналов в области организации используется только FeedName. Примечание. Это не поддерживается для тестовой команды.
includeNuGetOrg
-
Использование пакетов из NuGet.org
boolean. Необязательный. Используется при selectOrConfig = select && command = restore. Значение по умолчанию: true.
Включает NuGet.org в созданный NuGet.config.
Путь к NuGet.config
string. Необязательный. Используется при selectOrConfig = config && command = restore.
NuGet.config в репозитории, указывающее веб-каналы, из которых необходимо восстановить пакеты.
externalFeedCredentials
-
Учетные данные для веб-каналов за пределами этой организации или коллекции
Псевдоним ввода: externalEndpoints.
string. Необязательный. Используется при selectOrConfig = config && command = restore.
Имя подключения службы, используемого для внешних реестров, перечисленных в выбранном элементе NuGet.config. Для веб-каналов в одной организации или коллекции оставьте это поле пустым; Учетные данные сборки используются автоматически.
noCache
-
Отключить локальный кэш
boolean. Необязательный. Используется при command = restore. Значение по умолчанию: false.
Не позволяет NuGet использовать пакеты из локальных кэшей компьютеров.
каталога назначения
Псевдоним ввода: packagesDirectory.
string. Необязательный. Используется при command = restore.
Указывает папку, в которой установлены пакеты. Если папка не указана, пакеты восстанавливаются в кэш пакетов NuGet по умолчанию.
verbosityRestore
-
детализации
string. Необязательный. Используется при command = restore. Допустимые значения: -, Quiet, Minimal, Normal, Detailed, Diagnostic. Значение по умолчанию: Normal.
Указывает объем сведений, отображаемых в выходных данных для команды restore.
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.
Указывает, является ли целевой веб-канал внутренним или внешним.
целевого веб-канала
Псевдоним ввода: feedPublish.
string. Требуется, если command = push && nuGetFeedType = internal.
Указывает веб-канал, размещенный в этой организации. Для выбора веб-канала необходимо установить и лицензировать управление пакетами.
publishPackageMetadata
-
публикации метаданных конвейера
boolean. Необязательный. Используется при command = push && nuGetFeedType = internal. Значение по умолчанию: true.
Связывает метаданные этого конвейера сборки и выпуска (run #, сведения о исходном коде) с пакетом.
publishFeedCredentials
-
сервер NuGet
Псевдоним ввода: externalEndpoint.
string. Требуется, если command = push && nuGetFeedType = external.
Подключение службы NuGet , содержащее учетные данные внешнего сервера NuGet.
packagesToPack
-
Путь к csproj или nuspec-файлам для упаковки
Псевдоним ввода: searchPatternPack.
string. Требуется, если command = pack. Значение по умолчанию: **/*.csproj.
Шаблон для поиска .csproj или .nuspec файлов для упаковки.
Можно разделить несколько шаблонов с запятой, и вы можете сделать шаблон отрицательным, префиксируя его с помощью !. Пример: **/*.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. Значение по умолчанию: Normal.
Указывает объем сведений, отображаемых в выходных данных для команды pack.
verbosityPack
-
детализации
string. Необязательный. Используется при command = pack. Допустимые значения: -, Quiet, Minimal, Normal, Detailed, Diagnostic. Значение по умолчанию: Detailed.
Указывает объем сведений, отображаемых в выходных данных для команды pack.
рабочего каталога
string. Необязательный. Используется при command != restore && command != push && command != pack.
Текущий рабочий каталог, в котором выполняется скрипт.
Empty является корнем репозитория (сборки) или артефактов (выпуск), $(System.DefaultWorkingDirectory).
requestTimeout
-
Задать время ожидания для запроса на скачивание пакетов
string. Значение по умолчанию: 300000.
Укажите значение времени ожидания для HTTP-запросов, которые задача выполняет для получения пакета .NET. Значение находится в миллисекундах. Значение по умолчанию — 300000 миллисекунда (5 минут). Не может быть более 600000 миллисекунда (10 минут).
Параметры управления задачами
Все задачи имеют параметры управления в дополнение к входным данным задачи. Дополнительные сведения см. в разделе Параметры управления и общие свойства задач.
Выходные переменные
Никакой.
Замечания
Важный
Задача аутентификации NuGet — это новый рекомендуемый способ проверки подлинности с помощью Артефактов Azure и других репозиториев NuGet. Команды restore и push этой задачи интерфейса командной строки .NET Core больше не принимают новые функции и устраняются только критические ошибки.
Использование AzurePipelinesCredential в тестах интеграции
Библиотеки удостоверений Azure для .NET, C++, Go, Java, Java, JavaScript и Python обеспечивают поддержкуфедерации удостоверений рабочей нагрузки, поэтому код, выполняемый из AzureCLI@2 и AzurePowerShell@5 задач, может проходить проверку подлинности с помощью идентификатора Microsoft Entra (например, для доступа к Azure) с помощью класса AzurePipelinesCredential.
Многие клиенты используют клиентские библиотеки Azure SDK в тестах интеграции, вызываемых из других задач. Задачи DotNetCoreCLI@2, Maven@4 и VSTest@3 могут получить доступ к ресурсам Azure с помощью класса AzurePipelinesCredential.
Свойство connectedServiceName можно задать для подключения службы Azure, настроенного с федерацией удостоверений рабочей нагрузки. Для AzurePipelinesCredential требуется задать SYSTEM_ACCESSTOKEN.
В следующем примере показаны connectedServiceName входные данные для задачи DotNetCoreCLI@2.
VSTest@3 и Maven@4 использование аналогично.
- task: DotNetCoreCLI@2
inputs:
command: 'run'
connectedServiceName: <Azure service connection configured with workload identity federation>
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
Дополнительные сведения о AzurePipelinesCredentialсм. в статье Повышение уровня безопасности в подключениях службы Azure с помощью AzurePipelinesCredential.
Почему не удалось восстановить пакеты сборки, публикации или тестирования?
Большинство команд 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. Это происходит в конфликте со схемой, которую сопоставление источников пакетов использует для сопоставления пакетов с источниками и разрывает конфигурацию источника пакета в файле 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. Это гарантирует, что для сборки проекта EF используется правильный пакет SDK. Если требуемая версия отсутствует на компьютере, добавьте задачу 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
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, классическая сборка, классический выпуск |
| Выполняется в | Агент |
| требования | Никакой |
| возможностей |
Эта задача не удовлетворяет требованиям к последующим задачам в задании. |
| ограничения команд | Любой |
| переменные settable | Любой |
| Версия агента | 2.144.0 или более поздней версии |
| Категория задач | Строить |
| Требование | Описание |
|---|---|
| Типы конвейеров | YAML, классическая сборка, классический выпуск |
| Выполняется в | Агент |
| требования | Никакой |
| возможностей |
Эта задача не удовлетворяет требованиям к последующим задачам в задании. |
| ограничения команд | Любой |
| переменные settable | Любой |
| Версия агента | 2.115.0 или более поздней версии |
| Категория задач | Строить |