16

我在 Azure Repos 中有一个使用 Git LFS 的项目,其中使用 Git LFS 签入了几个二进制图像文件。当我的 Azure Pipelines 构建执行git pull时,图像文件不会从 Git LFS 中提取,并且我留下了几个零字节图像文件。

我正在使用自定义的自托管 Azure Pipelines 构建服务器,该服务器上安装了最新版本的 Git LFS:

PS C:\rehan> git lfs --version                                                                                     git-lfs/2.7.2 (GitHub; windows amd64; go 1.12.2; git 08a08ae0)

我尝试添加步骤来执行 agit lfs install但这无济于事。git lfs pull当我登录到构建服务器后手动执行时,文件已正确下载。当我git lfs pull在 Azure Pipeline 中作为构建步骤运行时,出现以下错误:

fatal: could not read Username for 'https://foo.visualstudio.com': terminal prompts disabled
batch response: Git credentials for https://foo.visualstudio.com/Bar/_git/Bar not found.
error: failed to fetch some objects from 'https://foo.visualstudio.com/Bar/_git/Bar.git/info/lfs'
Downloading LFS objects:   0% (0/1), 0 B | 0 B/s                                
##[error]PowerShell exited with code '1'.
4

2 回答 2

34

您必须为 lfs 使用 https 才能与 Azure Devops 一起使用,并且在进行构建时必须进行 LFS 签出:

steps:
- checkout: self  # self represents the repo where the initial Pipelines YAML file was found
  lfs: true

如果您使用的是 UI 向导,则有一个复选框可以检查 lfs

https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema#checkout
https://docs.microsoft.com/en-us/azure/devops /pipelines/repos/pipeline-options-for-git?view=azure-devops#checkout-files-from-lfs

于 2019-07-01T15:10:10.633 回答
-1

我认为这个错误很简单。您尚未在管道中提供 git 凭据。

更重要的是,我能问一下你为什么使用 git 来处理二进制文件吗?你打算如何对 git 不理解的东西进行版本控制?我的意思是,您打算如何在二进制文件上使用差异和合并等功能?

于 2019-06-27T10:42:23.747 回答