More info in the blog post here
See build.ps1.
./GenerateNerdbankGitVersioningTargets.ps1
docker build -t nerdbankgitversioning-docker .
docker run -it nerdbankgitversioning-docker
Proof:
PS nerdbankgitversioning-docker> .\build.ps1
Nerdbank.GitVersioning is found with version 3.1.74
gitNativeLib is C:\Users\####\.nuget\packages\nerdbank.gitversioning\3.1.74\build\MSBuildFull\lib\win32\x64\git2-106a5f2.dll
Nerdbank.GitVersioning.target has been generated. Version: 1.2.0-g3387fd57b2
Sending build context to Docker daemon 11.26kB
Step 1/8 : FROM mcr.microsoft.com/dotnet/core/sdk:3.1-alpine as base
---> 90e3f484b56c
Step 2/8 : WORKDIR /src
---> Running in 7c7d57632800
Removing intermediate container 7c7d57632800
---> e742593837ba
Step 3/8 : COPY *.csproj *.props *.targets *.sln ./
---> 108b4976f55c
Step 4/8 : RUN dotnet restore -p:Configuration=Release
---> Running in 5ab2f2eafb37
Restore completed in 2.35 min for /src/DockerExampleWithNerdbankGitVersioning.csproj.
Removing intermediate container 5ab2f2eafb37
---> 24e96cde2f28
Step 5/8 : COPY ./ ./
---> 71330579c154
Step 6/8 : RUN dotnet publish -c Release -o /app --no-restore
---> Running in 7a9394240f54
Microsoft (R) Build Engine version 16.4.0+e901037fe for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.
DockerExampleWithNerdbankGitVersioning -> /src/bin/Release/netcoreapp3.1/DockerExampleWithNerdbankGitVersioning.dll
DockerExampleWithNerdbankGitVersioning -> /app/
Removing intermediate container 7a9394240f54
---> a77547073514
Step 7/8 : WORKDIR /app
---> Running in d987c8105e5b
Removing intermediate container d987c8105e5b
---> a39680477d56
Step 8/8 : ENTRYPOINT ["dotnet", "DockerExampleWithNerdbankGitVersioning.dll"]
---> Running in 0722d0ea128d
Removing intermediate container 0722d0ea128d
---> 16c4dc25fe68
Successfully built 16c4dc25fe68
Successfully tagged nerdbankgitversioning-docker:latest
AssemblyVersion is 1.2.0.34611
As you can see, AssemblyVersion
has been generated by Nerdbank.GitVersioning.
Let's check that .git
directory doesn't exist.
PS nerdbankgitversioning-docker> docker run -it --entrypoint /bin/sh 16c4dc25fe68
/app # ls -a1 /src
.
..
Directory.Build.targets
DockerExampleWithNerdbankGitVersioning.csproj
Nerdbank.GitVersioning.targets
Packages.props
Program.cs
bin
obj
version.json