Как сделать дотнет публиковать в Build Yaml - PullRequest
0 голосов
/ 31 марта 2019

Можете ли вы привести пример, как указать в build.yaml, если нужно сделать dotnet publish тестовый проект в .Net Core 2.1.упомянутый этот не может понять, как именно.

Ниже сказано, каким должен быть путь yaml

Чтобы эта задача работала, вы должныуже опубликовали вывод вашей сборки в этот каталог с помощью команды dotnet publish --output $ (Build.ArtifactStagingDirectory).Чтобы скопировать дополнительные файлы в этот каталог перед публикацией,

Например, как показано ниже в build.yaml в приложении класса (решение API)

dotnet publish ~/projects/app1/app1.csproj

Попробовано ниже

- task: DotNetCoreCLI@2
      displayName: "Prepare Publish Files"
      inputs:
        command: publish
        projects: ""
        arguments: --output $(Build.ArtifactStagingDirectory)/src/xxx.EndToEnd.Integration.Tests/xxx.EndToEnd.Integration.Tests.csproj

Но получите ошибку ниже, на самом деле мое решение API, где я пытаюсь опубликовать end2end тесты и запустить их после развертывания.

##[error]No web project was found in the repository. Web projects are identified by presence of either a web.config file or wwwroot folder in the directory.
##[error]Project file(s) matching the specified pattern were not found.

1 Ответ

1 голос
/ 03 апреля 2019

С кодом ниже YAML я смог запустить сборку

- task: DotNetCoreCLI@2
  displayName: "dotnet e2e tests"
  inputs:
    command: publish
    publishWebProjects: false
    projects: '**/*.csproj'
    arguments: --output $(Build.ArtifactStagingDirectory)/src/xxx.EndToEnd.Integration.Tests
    zipAfterPublish: false

Объяснение:

publishWebProjects: false - Поскольку это решение API.

Самый простой способ - создать задачу в мастере конструктора и увидеть там файл YAML (отдельная вкладка для отображения файла yaml)

...