Как использовать Git LFS с репозиториями и конвейерами Azure - PullRequest
1 голос
/ 27 июня 2019

У меня есть проект, использующий Git LFS в Azure Repos, с несколькими проверяемыми двоичными файлами изображений, использующими 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)

Я попытался добавить шаги для выполнения git lfs install, но это не помогает.Когда я вручную выполняю git lfs pull после входа на сервер сборки, файлы загружаются правильно.Когда я запускаю git lfs pull как шаг сборки в моем конвейере Azure, я получаю следующую ошибку:

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'.

Ответы [ 2 ]

1 голос
/ 01 июля 2019

Для работы с lfs Azure необходимо использовать https для lfs, а при сборке необходимо проверять 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

0 голосов
/ 27 июня 2019

Я думаю, что ошибка довольно прямолинейна.Вы не предоставили учетные данные git в своем конвейере.

И что более важно, могу я спросить, почему вы используете git для двоичных файлов?Как вы намереваетесь контролировать версию того, что git не понимает?Под этим я подразумеваю, как вы собираетесь использовать такие функции, как diff и слияние в двоичных файлах?

...