Gitversion 在 AzureDevops 构建管道中回滚了我的 NuGet 包的版本号
Gitversion rolled back the version number for my NuGet packages in AzureDevops build pipeline
问题:
直到两天前,由 GitVersion 生成的版本工作正常,但现在突然从 1.421 滚动到 1.407。
我的环境:
Azure 开发运营:
多个版本的 Azure DevOps 构建管道,构建 10 多个 NuGet 包,这些包使用 Git版本 MsBuild 任务配置主线模式。
对于我的构建管道版本,我有以下结构:
一个 Microsoft 托管代理版本和一个自托管代理版本。
对于每个版本,我都有以下管道:
- 恢复、构建、打包、单元测试和发布符号以及 NuGet 提要。
- 恢复、构建、打包、发布
- 恢复、构建、单元测试
Git版本 5.3.0
我已将其设置为将每次新提交的次要编号递增到我的主分支中。同样值得一提的是,我没有使用任何其他来源来计算版本,因为这对我来说是最舒适的方法,并且到目前为止效果很好。
Git版本yml配置:
next-version: 1.1
mode: Mainline
branches:
feature:
tag: alpha
increment: Inherit
master:
increment: Minor
tag: ''
ignore:
sha: []
merge-message-formats: {}
我尝试做的事情:
- 通过阅读日志,我注意到 Git 版本输出此消息:"Skipping fetching, if GitVersion does not calculate your version as expected you might need to allow fetching or use dynamic repositories.",因此我使用了动态存储库,但生成了相同的结果。:(
我不知道我还应该做些什么来调试它。我在想 Git 版本缓存有问题吗?
提前致谢。
I don't know what else I should do to debug this.. I'm thinking is a
problem with the GitVersion cache?
1.If 你照片中的 #1.421
和后面的 #1.407
是 both master
分支:
我认为您最近在 git 存储库中可能有 git reset --hard
或其他操作导致了此行为:
2.If 你图片中的 #1.421
和后面的 #1.407
不是同一个分支,这是预期的行为,因为每个分支的版本号不同。(master
和 feature
有不同的规则)
管道的版本是next-version: 1.1
+一个分支的有效提交数(总提交数-在git重置期间删除的提交数)。所以你需要检查:
1.if你最近修改了GitVersion yml中的版本
2.if 你最近做了git重置--硬动作
3.if两个版本来自两个不同的分支,feature
分支和master
分支有不同的提交历史和不同的提交次数。所以看到不同版本是预期的行为。
我找到了问题的根源。我在我的项目中工作并在从 master 提取最新更改之前提交了更改。接下来,在拉取更改后,我观察到我的提交在历史记录中被放置为 6 或 7 次提交。
问题:
直到两天前,由 GitVersion 生成的版本工作正常,但现在突然从 1.421 滚动到 1.407。
我的环境:
Azure 开发运营:
多个版本的 Azure DevOps 构建管道,构建 10 多个 NuGet 包,这些包使用 Git版本 MsBuild 任务配置主线模式。
对于我的构建管道版本,我有以下结构: 一个 Microsoft 托管代理版本和一个自托管代理版本。
对于每个版本,我都有以下管道:
- 恢复、构建、打包、单元测试和发布符号以及 NuGet 提要。
- 恢复、构建、打包、发布
- 恢复、构建、单元测试
Git版本 5.3.0
我已将其设置为将每次新提交的次要编号递增到我的主分支中。同样值得一提的是,我没有使用任何其他来源来计算版本,因为这对我来说是最舒适的方法,并且到目前为止效果很好。
Git版本yml配置:
next-version: 1.1
mode: Mainline
branches:
feature:
tag: alpha
increment: Inherit
master:
increment: Minor
tag: ''
ignore:
sha: []
merge-message-formats: {}
我尝试做的事情:
- 通过阅读日志,我注意到 Git 版本输出此消息:"Skipping fetching, if GitVersion does not calculate your version as expected you might need to allow fetching or use dynamic repositories.",因此我使用了动态存储库,但生成了相同的结果。:(
我不知道我还应该做些什么来调试它。我在想 Git 版本缓存有问题吗?
提前致谢。
I don't know what else I should do to debug this.. I'm thinking is a problem with the GitVersion cache?
1.If 你照片中的 #1.421
和后面的 #1.407
是 both master
分支:
我认为您最近在 git 存储库中可能有 git reset --hard
或其他操作导致了此行为:
2.If 你图片中的 #1.421
和后面的 #1.407
不是同一个分支,这是预期的行为,因为每个分支的版本号不同。(master
和 feature
有不同的规则)
管道的版本是next-version: 1.1
+一个分支的有效提交数(总提交数-在git重置期间删除的提交数)。所以你需要检查:
1.if你最近修改了GitVersion yml中的版本
2.if 你最近做了git重置--硬动作
3.if两个版本来自两个不同的分支,feature
分支和master
分支有不同的提交历史和不同的提交次数。所以看到不同版本是预期的行为。
我找到了问题的根源。我在我的项目中工作并在从 master 提取最新更改之前提交了更改。接下来,在拉取更改后,我观察到我的提交在历史记录中被放置为 6 或 7 次提交。