Нет такого файла или каталога
Просто сфокусируйтесь на этом сообщении об ошибке, dotnet build
не смог найти файл csproj
для продолжения сборки. Это наиболее распространенная ошибка в Azure devops, даже если она может быть успешно построена локально.
Это потому, что docker работает на уровне Repos / solution локально (например, VS). НО , для Azure devops CI он запускает docker в каталоге, где находится файл docker, который находится на уровне проекта.
В двух словах - это relative path
, который может быть успешно использован в локальном поиске csproj, недоступен в Azure devops вообще. Поскольку рабочий каталог изменился.
Укажите $(Build.Repository.LocalPath)
в качестве аргумента Docker 2.*
Build context
.
для YAML :
- task: Docker@2
displayName: build
inputs:
containerRegistry: DockerHub
repository: xxx/xxx
Dockerfile: Docker/TestWebApi/Dockerfile
buildContext: '$(Build.Repository.LocalPath)' # Specify the context
tags: latest