Azure devops Azure管道docker无法复制多个项目

Azure devops Azure管道docker无法复制多个项目,azure-devops,dockerfile,Azure Devops,Dockerfile,在azure devops中构建我的应用程序时,将Data.csproj复制到Data/失败。不过,第一个复制命令Api.csproj to Api/工作正常。请注意,我没有在azure-pipeline.yml文件中指定buildContext。但是,当我添加buildContext时,buildContext:'$(Build.Repository.LocalPath),它甚至在第一个副本上都失败了 关于如何解决这个问题,有什么意见或建议吗?我尝试搜索并添加buildcontext,或者在c

在azure devops中构建我的应用程序时,将Data.csproj复制到Data/失败。不过,第一个复制命令Api.csproj to Api/工作正常。请注意,我没有在azure-pipeline.yml文件中指定buildContext。但是,当我添加buildContext时,buildContext:'$(Build.Repository.LocalPath),它甚至在第一个副本上都失败了

关于如何解决这个问题,有什么意见或建议吗?我尝试搜索并添加buildcontext,或者在csproj上添加文件夹,但似乎不起作用。例如,复制[“/Data/Data.csproj”,“Data/”]

这是我的文件夹结构(我的azure-pipeline.yml文件在应用程序文件夹之外):

my azure-pipeline.yml的部分内容

stages:
- stage: Build
  displayName: Build stage
  jobs:  
  - job: Build
    displayName: Build
    pool:
      vmImage: 'ubuntu-latest'
    steps:
    - task: Docker@2
      displayName: Build and push an image to container registry
      inputs:
        command: buildAndPush
        repository: 'App'
        dockerfile: '**/Dockerfile'               
        tags: |
          $(tag)
以下是错误:

Step 6/28 : WORKDIR /src
 ---> Running in 266a78d293ee
Removing intermediate container 266a78d293ee
 ---> 2d899fafdf05
Step 7/28 : COPY ["Api.csproj", "Api/"]
 ---> 92c8c1450c3c
Step 8/28 : COPY ["Data.csproj", "Data/"]
COPY failed: stat /var/lib/docker/tmp/docker-builder764823890/Data.csproj: no such file or directory
##[error]COPY failed: stat /var/lib/docker/tmp/docker-builder764823890/Data.csproj: no such file or directory
##[error]The process '/usr/bin/docker' failed with exit code 1

好的,在尝试了很多次之后,我通过更改dockerfile和azure-pipelines.yml解决了这个问题

我认为解决这个问题的方法是专门将buildContext设置为“App/”而不是变量“$(Build.Repository.LocalPath)”,我不确定确切的值是多少

我将只发布我更改的部分

Dockerfile

COPY ["Api/Api.csproj", "Api/"]
COPY ["Data/Data.csproj", "Data/"]
COPY ["Domain/Domain.csproj", "Domain/"]
azure-pipelines.yml

inputs:
  command: buildAndPush
  repository: $(imageRepository)
  dockerfile: $(dockerfilePath)        
  buildContext: 'App/'

感谢您在这里分享您的解决方案,请接受您的解决方案好吗?因此,它将有助于其他成员谁得到同样的问题,找到解决办法容易。祝你今天愉快:)
COPY ["Api/Api.csproj", "Api/"]
COPY ["Data/Data.csproj", "Data/"]
COPY ["Domain/Domain.csproj", "Domain/"]
inputs:
  command: buildAndPush
  repository: $(imageRepository)
  dockerfile: $(dockerfilePath)        
  buildContext: 'App/'