在Azure DevOps上构建docker时有一个非常有趣的问题,甚至不知道如何解决,没有找到与该错误相关的任何信息,所以这里是有错误的日志文件
Microsoft (R) Build Engine version 16.0.450+ga8dc7f1d34 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.
'git' is not recognized as an internal or external command,
operable program or batch file.
C:\Users\ContainerUser\.nuget\packages\gitinfo\2.0.20\build\GitInfo.targets(905,3): warning MSB3073: The command "git --version" exited with code 9009. [C:\src\Source\TestProject.Web\TestProject.Web.csproj]
'bash.exe' is not recognized as an internal or external command,
operable program or batch file.
C:\Users\ContainerUser\.nuget\packages\gitinfo\2.0.20\build\GitInfo.targets(924,3): warning MSB3073: The command "C:\Users\ContainerUser\.nuget\packages\gitinfo\2.0.20\build\wslrun.cmd git --version" exited with code 1. [C:\src\Source\TestProject.Web\TestProject.Web.csproj]
C:\Program Files\dotnet\sdk\2.1.602\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ObsoleteReferences.targets(33,5): warning NETSDK1059: The tool 'Microsoft.EntityFrameworkCore.Tools.DotNet' is now included in the .NET Core SDK. Information on resolving this warning is available at (https://aka.ms/dotnetclitools-in-box). [C:\src\Source\TestProject.Web\TestProject.Web.csproj]
Restore completed in 377.95 ms for C:\src\Source\TestProject.App.Base.Api\TestProject.App.Base.Api.csproj.
Restore completed in 377.95 ms for C:\src\Source\TestProject.App.Base.Dto\TestProject.App.Base.Dto.csproj.
Restore completed in 25.96 ms for C:\src\Source\TestProject.App.Web.Api\TestProject.App.Web.Api.csproj.
Restore completed in 25.14 ms for C:\src\Source\TestProject.App.Web.Dto\TestProject.App.Web.Dto.csproj.
Restore completed in 74.95 ms for C:\src\Source\TestProject.App.Base\TestProject.App.Base.csproj.
Restore completed in 63.88 ms for C:\src\Source\TestProject.App.Web\TestProject.App.Web.csproj.
Restore completed in 28.04 ms for C:\src\Source\TestProject.Core\TestProject.Core.csproj.
Restore completed in 4.64 ms for C:\src\Source\TestProject.Data.Model.Common\TestProject.Data.Model.Common.csproj.
Restore completed in 24.93 ms for C:\src\Source\TestProject.Data.Model\TestProject.Data.Model.csproj.
Restore completed in 25.5 ms for C:\src\Source\TestProject.Data.Repository\TestProject.Data.Repository.csproj.
Restore completed in 81.12 ms for C:\src\Source\TestProject.Data.EntityFrameworkCore\TestProject.Data.EntityFrameworkCore.csproj.
Restore completed in 379.54 ms for C:\src\Source\TestProject.Web\TestProject.Web.csproj.
'git' is not recognized as an internal or external command,
operable program or batch file.
C:\Users\ContainerUser\.nuget\packages\gitinfo\2.0.20\build\GitInfo.targets(905,3): warning MSB3073: The command "git --version" exited with code 9009. [C:\src\Source\TestProject.Web\TestProject.Web.csproj]
'bash.exe' is not recognized as an internal or external command,
operable program or batch file.
C:\Users\ContainerUser\.nuget\packages\gitinfo\2.0.20\build\GitInfo.targets(924,3): warning MSB3073: The command "C:\Users\ContainerUser\.nuget\packages\gitinfo\2.0.20\build\wslrun.cmd git --version" exited with code 1. [C:\src\Source\TestProject.Web\TestProject.Web.csproj]
C:\Program Files\dotnet\sdk\2.1.602\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ObsoleteReferences.targets(33,5): warning NETSDK1059: The tool 'Microsoft.EntityFrameworkCore.Tools.DotNet' is now included in the .NET Core SDK. Information on resolving this warning is available at (https://aka.ms/dotnetclitools-in-box). [C:\src\Source\TestProject.Web\TestProject.Web.csproj]
'--version' is not recognized as an internal or external command,
operable program or batch file.
C:\Users\ContainerUser\.nuget\packages\gitinfo\2.0.20\build\GitInfo.targets(152,3): warning MSB3073: The command " --version" exited with code 9009. [C:\src\Source\TestProject.Web\TestProject.Web.csproj]
C:\Users\ContainerUser\.nuget\packages\gitinfo\2.0.20\build\GitInfo.targets(161,3): error : Failed to run `git --version`. Git may not be properly installed: [C:\src\Source\TestProject.Web\TestProject.Web.csproj]
C:\Users\ContainerUser\.nuget\packages\gitinfo\2.0.20\build\GitInfo.targets(161,3): error : '--version' is not recognized as an internal or external command,;operable program or batch file. [C:\src\Source\TestProject.Web\TestProject.Web.csproj]
Build FAILED.
C:\Users\ContainerUser\.nuget\packages\gitinfo\2.0.20\build\GitInfo.targets(905,3): warning MSB3073: The command "git --version" exited with code 9009. [C:\src\Source\TestProject.Web\TestProject.Web.csproj]
C:\Users\ContainerUser\.nuget\packages\gitinfo\2.0.20\build\GitInfo.targets(924,3): warning MSB3073: The command "C:\Users\ContainerUser\.nuget\packages\gitinfo\2.0.20\build\wslrun.cmd git --version" exited with code 1. [C:\src\Source\TestProject.Web\TestProject.Web.csproj]
C:\Program Files\dotnet\sdk\2.1.602\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ObsoleteReferences.targets(33,5): warning NETSDK1059: The tool 'Microsoft.EntityFrameworkCore.Tools.DotNet' is now included in the .NET Core SDK. Information on resolving this warning is available at (https://aka.ms/dotnetclitools-in-box). [C:\src\Source\TestProject.Web\TestProject.Web.csproj]
C:\Users\ContainerUser\.nuget\packages\gitinfo\2.0.20\build\GitInfo.targets(905,3): warning MSB3073: The command "git --version" exited with code 9009. [C:\src\Source\TestProject.Web\TestProject.Web.csproj]
C:\Users\ContainerUser\.nuget\packages\gitinfo\2.0.20\build\GitInfo.targets(924,3): warning MSB3073: The command "C:\Users\ContainerUser\.nuget\packages\gitinfo\2.0.20\build\wslrun.cmd git --version" exited with code 1. [C:\src\Source\TestProject.Web\TestProject.Web.csproj]
C:\Program Files\dotnet\sdk\2.1.602\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ObsoleteReferences.targets(33,5): warning NETSDK1059: The tool 'Microsoft.EntityFrameworkCore.Tools.DotNet' is now included in the .NET Core SDK. Information on resolving this warning is available at (https://aka.ms/dotnetclitools-in-box). [C:\src\Source\TestProject.Web\TestProject.Web.csproj]
C:\Users\ContainerUser\.nuget\packages\gitinfo\2.0.20\build\GitInfo.targets(152,3): warning MSB3073: The command " --version" exited with code 9009. [C:\src\Source\TestProject.Web\TestProject.Web.csproj]
C:\Users\ContainerUser\.nuget\packages\gitinfo\2.0.20\build\GitInfo.targets(161,3): error : Failed to run `git --version`. Git may not be properly installed: [C:\src\Source\TestProject.Web\TestProject.Web.csproj]
C:\Users\ContainerUser\.nuget\packages\gitinfo\2.0.20\build\GitInfo.targets(161,3): error : '--version' is not recognized as an internal or external command,;operable program or batch file. [C:\src\Source\TestProject.Web\TestProject.Web.csproj]
7 Warning(s)
1 Error(s)
Time Elapsed 00:00:04.41
The command 'cmd /S /C dotnet build "TestProject.Web.csproj" -c Release -o /app' returned a non-zero code: 1
##[error]C:\Program Files\Docker\docker.exe failed with return code: 1
##[section]Finishing: Build an image
在我的Windows计算机上,它构建良好,没有发生任何错误。我在Azure DevOps中尝试了不同的代理程序池,但是存在相同的问题。有人可以告诉我这是怎么回事
如果需要的话,这里是我的dockerfile
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 80
ENV ASPNETCORE_ENVIRONMENT "Development"
FROM microsoft/dotnet:2.1-sdk AS build
WORKDIR /src
COPY ["Source/TestProject.Web/TestProject.Web.csproj", "Source/TestProject.Web/"]
COPY ["Source/TestProject.Data.EntityFrameworkCore/TestProject.Data.EntityFrameworkCore.csproj", "Source/TestProject.Data.EntityFrameworkCore/"]
COPY ["Source/TestProject.Core/TestProject.Core.csproj", "Source/TestProject.Core/"]
COPY ["Source/TestProject.App.Base.Dto/TestProject.App.Base.Dto.csproj", "Source/TestProject.App.Base.Dto/"]
COPY ["Source/TestProject.Data.Model/TestProject.Data.Model.csproj", "Source/TestProject.Data.Model/"]
COPY ["Source/TestProject.Data.Model.Common/TestProject.Data.Model.Common.csproj", "Source/TestProject.Data.Model.Common/"]
COPY ["Source/TestProject.Data.Repository/TestProject.Data.Repository.csproj", "Source/TestProject.Data.Repository/"]
COPY ["Source/TestProject.App.Web.Dto/TestProject.App.Web.Dto.csproj", "Source/TestProject.App.Web.Dto/"]
COPY ["Source/TestProject.App.Web/TestProject.App.Web.csproj", "Source/TestProject.App.Web/"]
COPY ["Source/TestProject.App.Base.Api/TestProject.App.Base.Api.csproj", "Source/TestProject.App.Base.Api/"]
COPY ["Source/TestProject.App.Web.Api/TestProject.App.Web.Api.csproj", "Source/TestProject.App.Web.Api/"]
COPY ["Source/TestProject.App.Base/TestProject.App.Base.csproj", "Source/TestProject.App.Base/"]
RUN dotnet restore "Source/TestProject.Web/TestProject.Web.csproj"
COPY . .
WORKDIR "/src/Source/TestProject.Web"
RUN dotnet build "TestProject.Web.csproj" -c Release -o /app
FROM build AS publish
RUN dotnet publish "TestProject.Web.csproj" -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "TestProject.Web.dll"]
有人遇到这个问题吗?