Reputation: 11
Hi guys i'm having trouble getting the COPY --from=build /src /dest in azure build pipeline. Its working on my local though... please see code below
Dockerfile
#Depending on the operating system of the host machines(s) that will build or run the containers, the image specified in the FROM statement may need to be changed.
#For more information, please see https://aka.ms/containercompat
FROM mcr.microsoft.com/dotnet/framework/sdk:4.7.2-windowsservercore-ltsc2019 AS build
WORKDIR /src
COPY . .
COPY SimpleWeb/*.csproj ./SimpleWeb/
COPY SimpleWeb/*.config ./SimpleWeb/
RUN nuget restore
COPY SimpleWeb/. ./SimpleWeb/
WORKDIR /src/SimpleWeb
RUN msbuild /p:Configuration=Release
FROM mcr.microsoft.com/dotnet/framework/aspnet:4.7.2-windowsservercore-ltsc2019 AS runtime
WORKDIR /inetpub/wwwroot
COPY --from=build /src/SimpleWeb/bin/Release/Publish/. .
Azure Pipeline.yml
# ASP.NET Core (.NET Framework)
# Build and test ASP.NET Core projects targeting the full .NET Framework.
# Add steps that publish symbols, save build artifacts, and more:
# https://learn.microsoft.com/azure/devops/pipelines/languages/dotnet-core
trigger:
- master
pool:
vmImage: 'windows-latest'
steps:
- task: Docker@2
displayName: Build
inputs:
containerRegistry: 'container-registry-dockerhub'
repository: 'myrepo'
command: 'build'
Dockerfile: '**/Dockerfile'
tags: 'latest'
- task: Docker@2
displayName: Push
inputs:
containerRegistry: 'container-registry-dockerhub'
repository: 'myrepo'
command: 'push'
tags: 'latest'
ERROR from Azure CI build
Step 12/21 : COPY --from=build /src/SimpleWeb/bin/Release/Publish/. .
COPY failed: CreateFile \\?\Volume{a4952e14-500f-4d78-9efe-1a9e638e3459}\src\SimpleWeb\bin\Release\Publish: The system cannot find the path specified.
##[error]The process 'C:\Program Files\Docker\docker.exe' failed with exit code 1
------EDITED------ this works though:
COPY --from=build /src/SimpleWeb/. .
i'm not sure why the bin/Release/Publish is not generated on the Azure Pipeline
Upvotes: 1
Views: 1143
Reputation: 297
You can try using dotnet restore
instead of nuget restore
.
nuget restore
will download all NuGet dependencies to your project.
dotnet restore
will download all NuGet dependencies as well as references and tools.
Upvotes: 1