Jenkins windows上的gitversion报告与mac上的不同。为什么?
这很简单:我试图使用gitversion来管理semver,在windows和mac之间的同一个repo/branch/commit上,我得到了完全不同的行为。我希望有人能解释,因为没有它,我无法管理版本升级 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
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