有一个构建管道,其代码如下:
resources:
repositories:
- repository: repName
type: git
ref: branchname
name: project/repo
jobs:
- job: prerequisite
timeoutInMinutes: 120
displayName: Setup variables
steps:
- checkout: self
- checkout: repName
当管道运行时,我们得到下面的错误:
HEAD is now at 72bc708d Update azure-pipelines.yml for Azure Pipelines
##[warning]Git checkout failed on shallow repository, this might because of git fetch with depth '1' doesn't include the checkout commit 'refs/remotes/origin/85hgf1234754b65aaadc947c195313b626a4bb72'. Please reference documentation (http://go.microsoft.com/fwlink/?LinkId=829603)
##[error]Git checkout failed with exit code: 1
如果repositories部分不存在并且没有指定checkout,这意味着没有涉及多个存储库-签出将成功,没有任何错误。
有什么想法吗?当涉及多个存储库时,为什么签出会失败?
已经测试了没有存储库部分,每次都成功。
确保未启用构建的浅层获取选项。不幸的是,在创建新管道时默认启用该功能。要改变这一点:去你的管道->编辑→3点菜单右上角->触发→YAML tab ->获取资源部分->取消选中页面底部的Shallow Fetch选项->保存