Jak*_*ing 10 git gitversion devops azure-devops
通过 AzureDevops 运行 GitVersion,并在尝试在除 master 之外的任何分支(包括拉取请求分支等)上使用时收到以下错误消息;
到目前为止,我已尝试通过以下方式解决该问题:
错误:
Gitversion could not determine which branch to treat as the development branch
Run Code Online (Sandbox Code Playgroud)
Git版本文件
mode: Mainline
branches:
master:
regex: master
increment: Patch
assembly-informational-format: '{MajorMinorPatch}+Branch.{BranchName}{PreReleaseTag}'
major-version-bump-message: '\+semver:\s?(breaking|major)'
minor-version-bump-message: '\+semver:\s?(feature|minor)'
patch-version-bump-message: '\+semver:\s?(fix|patch)'
commit-message-incrementing: Enabled
tag-prefix: '[vV]'
ignore:
sha: []
Run Code Online (Sandbox Code Playgroud)
YAML 管道
- task: gitversion/setup@0
displayName: gitversion/setup
inputs:
versionSpec: '5.10.3'
- task: gitversion/execute@0
displayName: gitversion/execute
inputs:
useConfigFile: true
configFilePath: GitVersion.yml
Run Code Online (Sandbox Code Playgroud)
小智 26
我在我的一个存储库中遇到了同样的问题。出乎意料。我找不到发生这种情况的任何具体原因,但通过调查 GitVersion 的工作原理,我得出的结论是浅层提取是罪魁祸首。我通过告诉管道始终获取所有内容来解决这个问题。我把它放在我的管道模板中,所以希望这种情况不会再发生。
- steps:
- checkout: self
fetchDepth: 0
Run Code Online (Sandbox Code Playgroud)
您提到“增加签出深度”,这暗示在 CI 作业中使用“稀疏签出”或“浅存储库”选项(这是正确的吗?)
浅存储库的缺点是:运行 CI 作业的存储库没有您的存储库的历史记录。
如果您的工作需要找出当前分支领先了多少次提交master,那么它至少需要链接master到当前分支的历史记录部分。
最简单的方法是关闭稀疏/浅层选项,
另一种方法可以是显式“加深”分支的历史记录:
git fetch --deepen=100 origin master
git fetch --deepen=100 origin [active branch]
Run Code Online (Sandbox Code Playgroud)