Jenkins windows上的gitversion报告与mac上的不同。为什么?

Jenkins windows上的gitversion报告与mac上的不同。为什么?,jenkins,semantic-versioning,gitversion,Jenkins,Semantic Versioning,Gitversion,这很简单:我试图使用gitversion来管理semver,在windows和mac之间的同一个repo/branch/commit上,我得到了完全不同的行为。我希望有人能解释,因为没有它,我无法管理版本升级 mac: 窗口: PS C:\Users\cbongiorno> cd E:\SysData\Jenkins\workspace\chb0_chb0mb_master PS E:\SysData\Jenkins\workspace\chb0_chb0mb_master> git

这很简单:我试图使用gitversion来管理semver,在windows和mac之间的同一个repo/branch/commit上,我得到了完全不同的行为。我希望有人能解释,因为没有它,我无法管理版本升级

mac:

窗口:

PS C:\Users\cbongiorno> cd E:\SysData\Jenkins\workspace\chb0_chb0mb_master
PS E:\SysData\Jenkins\workspace\chb0_chb0mb_master> git log -1 --pretty=oneline
e7592b7703792069e4f1a69317ef50fa1deae2eb (HEAD -> master, tag: 0.1.0, origin/master) PE20-165 - fix the command, again!
PS E:\SysData\Jenkins\workspace\chb0_chb0mb_master> gitversion /version
5.1.3+Branch.master.Sha.bef8ebc0b62b3ddd0cdafe09b66d68bbfcaf90d5
PS E:\SysData\Jenkins\workspace\chb0_chb0mb_master> gitversion
{
  "Major":0,
  "Minor":1,
  "Patch":0,
  "PreReleaseTag":"",
  "PreReleaseTagWithDash":"",
  "PreReleaseLabel":"",
  "PreReleaseNumber":"",
  "WeightedPreReleaseNumber":"",
  "BuildMetaData":"",
  "BuildMetaDataPadded":"",
  "FullBuildMetaData":"Branch.master.Sha.e7592b7703792069e4f1a69317ef50fa1deae2eb",
  "MajorMinorPatch":"0.1.0",
  "SemVer":"0.1.0",
  "LegacySemVer":"0.1.0",
  "LegacySemVerPadded":"0.1.0",
  "AssemblySemVer":"0.1.0.0",
  "AssemblySemFileVer":"0.1.0.0",
  "FullSemVer":"0.1.0",
  "InformationalVersion":"0.1.0+Branch.master.Sha.e7592b7703792069e4f1a69317ef50fa1deae2eb",
  "BranchName":"master",
  "Sha":"e7592b7703792069e4f1a69317ef50fa1deae2eb",
  "ShortSha":"e7592b7",
  "NuGetVersionV2":"0.1.0",
  "NuGetVersion":"0.1.0",
  "NuGetPreReleaseTagV2":"",
  "NuGetPreReleaseTag":"",
  "VersionSourceSha":"e7592b7703792069e4f1a69317ef50fa1deae2eb",
  "CommitsSinceVersionSource":92,
  "CommitsSinceVersionSourcePadded":"0092",
  "CommitDate":"2020-02-20"
}
PS E:\SysData\Jenkins\workspace\chb0_chb0mb_master> git rev-parse --abbrev-ref HEAD
master

版本号完全不同,即使我处理的是相同的回购/提交。这个肯定是个bug


有人能解释一下吗?

我说的有问题的Mac机器是你自己的机器,而Windows机器是Jenkins build agent,对吗?如果是这样的话,我猜问题在于Jenkins做了一个浅层克隆,而不是克隆整个存储库(默认情况下在您自己的机器上发生)。为了正确工作,GitVersion需要存储库的整个历史记录出现在声明版本号的机器上。确定!!!是的,没错。让我调查一下,如果你真的对坚持下去感兴趣,就不要使用GitVersion。该工具的作者似乎不理解SemVer。你能解释一下@jwdonahue吗?您能推荐另一种工具吗?因此,如果您使用GitVersion,并且打算遵守SemVer,那么您必须非常小心您的工作流选择和工具配置。
PS C:\Users\cbongiorno> cd E:\SysData\Jenkins\workspace\chb0_chb0mb_master
PS E:\SysData\Jenkins\workspace\chb0_chb0mb_master> git log -1 --pretty=oneline
e7592b7703792069e4f1a69317ef50fa1deae2eb (HEAD -> master, tag: 0.1.0, origin/master) PE20-165 - fix the command, again!
PS E:\SysData\Jenkins\workspace\chb0_chb0mb_master> gitversion /version
5.1.3+Branch.master.Sha.bef8ebc0b62b3ddd0cdafe09b66d68bbfcaf90d5
PS E:\SysData\Jenkins\workspace\chb0_chb0mb_master> gitversion
{
  "Major":0,
  "Minor":1,
  "Patch":0,
  "PreReleaseTag":"",
  "PreReleaseTagWithDash":"",
  "PreReleaseLabel":"",
  "PreReleaseNumber":"",
  "WeightedPreReleaseNumber":"",
  "BuildMetaData":"",
  "BuildMetaDataPadded":"",
  "FullBuildMetaData":"Branch.master.Sha.e7592b7703792069e4f1a69317ef50fa1deae2eb",
  "MajorMinorPatch":"0.1.0",
  "SemVer":"0.1.0",
  "LegacySemVer":"0.1.0",
  "LegacySemVerPadded":"0.1.0",
  "AssemblySemVer":"0.1.0.0",
  "AssemblySemFileVer":"0.1.0.0",
  "FullSemVer":"0.1.0",
  "InformationalVersion":"0.1.0+Branch.master.Sha.e7592b7703792069e4f1a69317ef50fa1deae2eb",
  "BranchName":"master",
  "Sha":"e7592b7703792069e4f1a69317ef50fa1deae2eb",
  "ShortSha":"e7592b7",
  "NuGetVersionV2":"0.1.0",
  "NuGetVersion":"0.1.0",
  "NuGetPreReleaseTagV2":"",
  "NuGetPreReleaseTag":"",
  "VersionSourceSha":"e7592b7703792069e4f1a69317ef50fa1deae2eb",
  "CommitsSinceVersionSource":92,
  "CommitsSinceVersionSourcePadded":"0092",
  "CommitDate":"2020-02-20"
}
PS E:\SysData\Jenkins\workspace\chb0_chb0mb_master> git rev-parse --abbrev-ref HEAD
master