While following a couple .NET Core 2.0 Visual Studio Team Services Continuous Integration/Continuous Delivery examples I bumped into a copy error in VSTS.
Adding docker
The workaround that I've found is from this blog.
Note that they hit an error on a linux docker machine
COPY failed: stat /var/lib/docker/tmp/docker-builder613328056/obj/Docker/publish: no such file or directory /usr/bin/docker failed with return code: 1
Solution:
Make a Dockerfile.ci like this
FROM microsoft/aspnetcore-build:2.0 AS build-env
WORKDIR /app
# Copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore
# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out
# Build runtime image
FROM microsoft/aspnetcore:2.0
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "SiliconValve.Vsts.DockerDemo.dll"]
It also requires modifying the .dockerignore file.
bin/
obj/
!*.dll
!obj/Docker/publish/*
!obj/Docker/empty/
This allows me to continue the CI process, however I assume there's an easier fix to the problem.