Публикация DOTNETCORECLI@2 прошла успешно, но артефактов нет

#.net-core #azure-devops #azure-pipelines #publish #dotnetcorecli

Вопрос:

У меня есть устаревший проект, и я хочу попасть в конвейеры Azure Devops. У меня есть настройка конвейера сборки, и сборка, похоже, прошла успешно. Я добавил задачу публикации DotnetcoreCli, и это удалось, но после запуска у меня никогда не было доступных артефактов, поэтому я не могу реализовать конвейер выпуска.

Интересно, может ли кто-нибудь заметить что-нибудь глупое, что я сделал?

Это задачи, определенные в моем конвейере:

   - task: DotNetCoreCLI@2
    inputs:
      command: 'build'
      projects: '$(solution)'
      arguments: '--configuration $(buildConfiguration)'
    displayName: 'dotnet build $(buildConfiguration)'
  - task: DotNetCoreCLI@2
    condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/UAT'))          
    inputs:
      command: 'publish'
      publishWebProjects: true
      configuration: $(BuildConfiguration)
      arguments: '--output $(Build.ArtifactStagingDirectory) --verbosity detailed'
      zipAfterPublish: false # We want individual files published, not a zip
 

Это конец трассировки моей задачи публикации:

(точка входа): 2021-09-09T08:57:26.4983992 Z Задание «Сообщение» 2021-09-09T08:57:26.4984515 Z MyOrg.MyApp.Пользовательский интерфейс -> D:a1aStagingMYOrg.MyApp.UI 2021-09-09T08:57:26.4985051 Z
Выполнено выполнение задачи «Сообщение». 2021-09-09T08:57:26.4985655 Z
1>Завершено создание цели «Опубликовать» в проекте «MyOrg.MyApp.UI.csproj». 2021-09-09T08:57:26.4986271 Z Цель «_InitProjectCapabilityProperties» пропущена. Ранее успешно построенный. 2021-09-09T08:57:26.4991632 Z 1>Цель «_InitPublishIntermediateOutputPath» в файле «C:hostedtoolcachewindowsdotnetsdk2.0.3SdksMicrosoft.NET.Sdk.Publishbuildnetstandard1.0DotNetCLIToolTargetsMicrosoft.NET.Sdk.DotNetCLITool.targets» из проекта «D:a1sMYOrg.MyApp.UIMyOrg.MyApp.UI.csproj» (цель «_AspNetCoreProjectSystemPostPublish» зависит от этого): 2021-09-09T08:57:26.4992847Z Задача «ConvertToAbsolutePath» 2021-09-09T08:57:26.4993300 Z Выполнено выполнение задачи «ConvertToAbsolutePath». 2021-09-09T08:57:26.4993889 Z 1>Выполнено построение целевого объекта «_InitPublishIntermediateOutputPath» в проекте «MyOrg.MyApp.UI.csproj». 2021-09-09T08:57:26.4994986 Z 1>Цель «_TransformWebConfig» в файле «C:hostedtoolcachewindowsdotnetsdk2.0.3SdksMicrosoft.NET.Sdk.Publishbuildnetstandard1.0TransformTargetsMicrosoft.NET.Sdk.Publish.TransformFiles.целевые объекты» из проекта «D:a1sMYOrg.MyApp.UIMyOrg.MyApp.UI.csproj» (цель «_AspNetCoreProjectSystemPostPublish» зависит от этого): 2021-09-09T08:57:26.4996207 Z Использование задачи «TransformWebConfig» из сборки «C:hostedtoolcachewindowsdotnetsdk2.0.3SdksMicrosoft.NET.Sdk.Publishbuildnetstandard1.0….toolsnetcoreapp1.0Microsoft.NET.Sdk.Publish.Tasks.dll». 2021-09-09T08:57:26.4997005 Z Задача «TransformWebConfig» 2021-09-09T08:57:26.5010124 Z Настройка следующего проекта для использования с IIS: ‘D:a1aStagingMYOrg.MyApp.Пользовательский интерфейс’ 2021-09-09T08:57:26.5010856 Z Обновление web.config по адресу ‘D:a1aStagingMYOrg.MyApp.Пользовательский интерфейсвеб.конфигурация’ 2021-09-09T08:57:26.5129541 Z Проект настройки успешно завершен 2021-09-09T08:57:26.5140303 Z Выполнено задание «TransformWebConfig». 2021-09-09T08:57:26.5143720 Z 1>Завершено создание целевого объекта «_TransformWebConfig» в проекте «MyOrg.MyApp.UI.csproj». 2021-09-09T08:57:26.5145086 Z 1>Цель «_TransformAppSettings» в файле «C:hostedtoolcachewindowsdotnetsdk2.0.3SdksMicrosoft.NET.Sdk.Publishbuildnetstandard1.0TransformTargetsMicrosoft.NET.Sdk.Publish.TransformFiles.целевые объекты» из проекта «D:a1sMYOrg.MyApp.Пользовательский интерфейсMyOrg.MyApp.UI.csproj файл» (цель «_AspNetCoreProjectSystemPostPublish» зависит от него): 2021-09-09T08:57:26.5146333 з задач «TransformAppSettings» пропустил, из-за ложного состояния; (‘$(_IsAspNetCoreProject)’ == ‘true’ и ‘$(IsTransformAppSettingsDisabled)’ != ‘true’ и @(DestinationConnectionStrings) != «) была оценена как (‘правда’ == ‘true’ и » != ‘true’ и != «). 2021-09-09T08:57:26.5153800 з
1>готово построение целевой «_TransformAppSettings» в проекте «MYOrg.MyApp.UI.csproj». 2021-09-09T08:57:26.5156303 Z 1>Цель «_GenerateEFSQLScripts» в файле «C:hostedtoolcachewindowsdotnetsdk2.0.3SdksMicrosoft.NET.Sdk.Publishbuildnetstandard1.0TransformTargetsMicrosoft.NET.Sdk.Publish.TransformFiles.целевые объекты» из проекта «D:a1sMYOrg.MyApp.UIMyOrg.MyApp.UI.csproj» (цель «_AspNetCoreProjectSystemPostPublish» зависит от этого): 2021-09-09T08:57:26.5157868 Z Задача «Генерировать сценарии» пропущена из-за ложного условия; (‘$(_IsAspNetCoreProject)’ == ‘истинно’ И ‘$(IsGenerateEFSQLScriptsDisabled)’ != ‘true’ И @(Миграции) != «) был оценен как (‘true’ == ‘true’ И » != ‘true’ И != «). 2021-09-09T08:57:26.5180482 Z 1>Завершено создание целевого объекта «_GenerateEFSQLScripts» в проекте «MyOrg.MyApp.UI.csproj». 2021-09-09T08:57:26.5183010 Z 1>Цель «_GenerateRunCommandFile» в файле «C:hostedtoolcachewindowsdotnetsdk2.0.3SdksMicrosoft.NET.Sdk.Publishbuildnetstandard1.0TransformTargetsMicrosoft.NET.Sdk.Publish.TransformFiles.целевые объекты» из проекта «D:a1sMYOrg.MyApp.UIMyOrg.MyApp.UI.csproj» (цель «_AspNetCoreProjectSystemPostPublish» зависит от этого): 2021-09-09T08:57:26.5185028 Z Задача «GenerateRunCommandFile» пропущена из-за ложного условия; (‘$(_IsWebJobProject)’ == ‘true’ И ‘$(IsGenerateRunCommandFileDisabled)’ != ‘true’) была оценена как (» == «true» И » != «true»). 2021-09-09T08:57:26.5185862 Z 1>Завершено создание целевого файла «_GenerateRunCommandFile» в проекте «MyOrg.MyApp.UI.csproj». 2021-09-09T08:57:26.5186601 Z Цель «_PublishFiles» пропущена из-за ложного условия; («$(PublishProtocol)» != «Файловая система» И «$(PublishProtocol)» != «) был оценен как («Файловая система»! = «Файловая система» И «Файловая система»!= «). 2021-09-09T08:57:26.5187820 Z 1>Цель «_AspNetCoreProjectSystemPostPublish» в файле «C:hostedtoolcachewindowsdotnetsdk2.0.3SdksMicrosoft.NET.Sdk.Publishbuildnetstandard1.0DotNetCLIToolTargetsMicrosoft.NET.Sdk.DotNetCLITool.targets» из проекта «D:a1sMYOrg.MyApp.UIMyOrg.MyApp.UI.csproj» (цель «_DotNetCLIPostPublish» зависит от этого): 2021-09-09T08:57:26.5188885 Z
1>Завершено создание цели «_AspNetCoreProjectSystemPostPublish» в проекте «MyOrg.MyApp.UI.csproj». 2021-09-09T08:57:26.5189885Z
1>Цель «После публикации» в файле «C:hostedtoolcachewindowsdotnetsdk2.0.3SdksMicrosoft.NET.Sdk.Publishbuildnetstandard1.0Microsoft.NET.Sdk.Publish.targets» из проекта «D:a1sMYOrg.MyApp.UIMyOrg.MyApp.UI.csproj» (цель «_DotNetCLIPostPublish» зависит от этого): 2021-09-09T08:57:26.5190833 Z
1>Завершено создание цели «После публикации» в проекте «MyOrg.MyApp.UI.csproj». 2021-09-09T08:57:26.5191798 Z 1>Цель «_DotNetCLIPostPublish» в файле «C:hostedtoolcachewindowsdotnetsdk2.0.3SdksMicrosoft.NET.Sdk.Publishbuildnetstandard1.0DotNetCLIToolTargetsMicrosoft.NET.Sdk.DotNetCLITool.targets» из проекта «D:a1sMYOrg.MyApp.UIMyOrg.MyApp.UI.csproj» (точка входа): 2021-09-09T08:57:26.5192771 Z 1>Завершено создание целевого объекта «_DotNetCLIPostPublish» в проекте «MyOrg.MyApp.UI.csproj». 2021-09-09T08:57:26.5193415 Z 1>Закончен строительный проект >»D:a1sMYOrg.Мое приложение.UIMyOrg.MyApp.UI.csproj» (Цель(цели) публикации). 2021-09-09T08:57:26.5210238 Z 2021-09-09T08:57:26.5225190 Z Сборка удалась. 2021-09-09T08:57:26.5260048 Z 0 предупреждений (ов) 2021-09-09T08:57:26.5260950 Z 0 ошибок (ов)

Ответ №1:

После команды dontet publish вам необходимо создать артефакт конвейера Azure.

Вы можете сделать это таким образом:

 - publish: $(Build.ArtifactStagingDirectory)
  artifact: WebApp
 

Здесь у вас есть документация по этому поводу. После этого вы получите артефакт, доступный для конвейера выпуска.

Комментарии:

1. @ПАбло, не могли бы вы проголосовать за мой ответ, если бы это было полезно для вас?