如何解决使用 GitVersion 和 GitFlow 更新 AssemblyVersion/Version 和 NuGet 包版本
我是 GitFlow 的新手。我创建了以下脚本以使用 GitVersion 来增加我的构建程序集信息和 NuGet 包版本
name: Publish to NuGet
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
nuget-publish:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
source-url: https://api.nuget.org/v3/index.json
dotnet-version: 3.1.200
env:
NUGET_AUTH_TOKEN: ${{secrets.NUGET_API_KEY}}
- name: Install GitVersion @5
uses: gittools/actions/gitversion/setup@v0.9.7
with:
versionSpec: '5.x'
updateAssemblyInfo: true
- name: Restore Dependencies
run: |
dotnet restore src/Blundergat.Protobuf/Blundergat.Protobuf.csproj
dotnet restore src/Blundergat.Messaging/Blundergat.Messaging.csproj
- name: Determine Version
uses: gittools/actions/gitversion/execute@v0.9.7
with:
useConfigFile: true
- name: display SemVer
run: |
echo "SemVer: $GITVERSION_SEMVER"
- name: Build
run: |
dotnet build src/Blundergat.Protobuf/Blundergat.Protobuf.csproj --configuration Release --no-restore
dotnet build src/Blundergat.Messaging/Blundergat.Messaging.csproj --configuration Release --no-restore
- name: Run Unit Tests
run: dotnet test src/Blundergat.Messaging.Test/Blundergat.Messaging.Test.csproj --no-restore --verbosity normal
- name: Publish to NuGet
run: |
mkdir __out
dotnet pack src/Blundergat.Protobuf/Blundergat.Protobuf.csproj -c Release -o __out --no-restore
dotnet pack src/Blundergat.Messaging/Blundergat.Messaging.csproj -c Release -o __out --no-restore
dotnet nuget push "./__out/*.nupkg" --skip-duplicate --no-symbols true --api-key ${{secrets.NUGET_API_KEY}}
rm -rf __out
这会运行,但我的 NuGet 包版本没有使用 GitVersion 的输出设置。我有两个问题
-
我怎样才能获得的NuGet软件包正确使用
GitVersion.AssemblySemVer
变量更新? -
在我上面两个项目的 .csproj 中,我仍然按如下方式动态设置版本
<PropertyGroup>
<AssemblyName>Blundergat.Messaging</AssemblyName>
<RootNamespace>Blundergat.Messaging</RootNamespace>
<VersionSuffix>1.0.0.$([System.DateTime]::UtcNow.ToString(HHmm))</VersionSuffix>
<AssemblyVersion Condition=" '$(VersionSuffix)' == '' ">0.0.0.1</AssemblyVersion>
<AssemblyVersion Condition=" '$(VersionSuffix)' != '' ">$(VersionSuffix)</AssemblyVersion>
<Version Condition=" '$(VersionSuffix)' == '' ">0.0.1.0</Version>
<Version Condition=" '$(VersionSuffix)' != '' ">$(VersionSuffix)</Version>
<Company>NA</Company>
<Authors>Camuvingian</Authors>
<copyright>copyright © Camuvingian 2020</copyright>
<Product>Blundergat.Messaging 1.0</Product>
</PropertyGroup>
我仅需要在上取下AssemblyVersion
和Version
属性?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。