На этапе оформления заказа в Azure Pipelines выдается ошибка загрузки Smudge, если для LFS установлено значение true

В моем конвейере Azure есть этап оформления заказа с lfs:true в моей ветке выпуска.

steps:
- checkout: self
  clean: true
  lfs: true

При запуске сборки выдается следующая ошибка.

Ошибка загрузки объекта: /Путь/к/DLL-файлу (31a4c7b): Размазать ошибка: Ошибка загрузки /Путь/к/DLL-файлу (31a4c7bxxxxxxxxxxxxxxxxxxxxxxxx): пакетный ответ: ожидаемый тип json, получено: «text/plain; charset=utf-8»

Проблема в том, что когда я запускаю ту же проверку для основной ветки в другом конвейере, она работает нормально. Любые предложения или возможные направления?

1. Согласовано ли содержимое ваших веток release и main? 2. Создайте новую ветку на основе main и запустите проверку с lfs, установленным на true, и проверьте, есть ли та же проблема. 3. Используете ли вы автономный агент или агент, размещенный на MS?

Ziyang Liu-MSFT 24.04.2024 12:39

Я использую самостоятельный агент

Yash Dutt 24.04.2024 21:26

1. Пробовали ли вы создать новую ветку на основе master и запустить оформление заказа с установкой lfs на true? Каков результат? 2. Попробуйте запустить git lfs checkout на своем локальном компьютере, чтобы проверить ветку выпуска и проверить, есть ли в ней та же ошибка или нет. 3. Попробуйте запустить git lfs pull в задаче CmdLine@2 в вашем конвейере вместо использования шага checkout. Будет ли такая же ошибка? Основываясь на текущей информации, мы не уверены, существует ли проблема с файлами в вашей ветке выпуска или в конвейере. Рекомендуется попробовать это, чтобы сузить проблему.

Ziyang Liu-MSFT 25.04.2024 16:58

Хорошо, я попробую их и верну

Yash Dutt 28.04.2024 23:05

@ZiyangLiu-MSFT 1. Я создал новую ветку master и попробовал оформить заказ, установив lfs на true. Большие файлы загружаются правильно. Затем я создал еще одну новую ветку из ветки выпуска и попробовал оформить заказ, установив для lfs значение true. Большие файлы не скачиваются. 2. Когда я попробовал git lfs checkout на своем локальном компьютере, я получил сообщение Skipped checkout for "/path/to/DLL/file", content not local. Use fetch to download. Я получаю это сообщение Skipped checkout.. для тех же 92 файлов, которые вижу при запуске конвейера Azure, где написано LFS object not found: [404] LFS object not found

Yash Dutt 29.04.2024 06:11

@ZiyangLiu-MSFT 3. Я тоже пробовал это: - task: CmdLine@2 inputs: script: | git checkout /name/of/release/branch git pull git lfs pull но получаю git: 'credential-manager' is not a git command. See 'git --help'. >The most similar command is >credential-manager-core >fatal: Authentication failed for 'http://xxxxxxxxx/xxxx/xxxx/_git/xxxxxxxx/' ошибку

Yash Dutt 29.04.2024 06:59

Вы также столкнулись с той же ошибкой при локальной проверке. Другие ветки можно успешно проверить. Судя по текущей ситуации, похоже, что в вашей ветке выпуска есть некоторые проблемы с файлом lfs. Вы можете попробовать перенастроить lfs в вашей ветке выпуска. Если ваша ветка релиза может быть успешно извлечена ранее, вы также можете рассмотреть возможность возврата ветки релиза к последнему рабочему коммиту, используя git reset --hard <the hash of the commit>

Ziyang Liu-MSFT 29.04.2024 13:43

Мы унаследовали исходный код от другой компании несколько месяцев назад, поэтому я не уверен, была ли успешно проверена ветка выпуска раньше. Мне хотелось бы думать, что да, это должно было произойти, и именно так они, должно быть, смогли сделать предварительный выпуск для клиентов, но у меня нет возможности узнать подробности об этом. Извините, я пытаюсь уточнить, что вы имеете в виду, когда говорите try to reconfigure the lfs in your release branch. Ваша помощь ценится.

Yash Dutt 29.04.2024 23:52

Узнайте, как настроить lfs, из этого документа git lfs и Управляйте большими файлами и храните их в репозитории Azure.

Ziyang Liu-MSFT 30.04.2024 15:58
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
9
104
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я запустил git lfs checkout на своей локальной машине. Я получил сообщение Skipped checkout for "/path/to/DLL/file", content not local. Use fetch to download о 92 файлах, с которыми у меня возникли проблемы, и в нем были перечислены все 92 файла. Я зашел в ветку master, скачал эти 92 файла и загрузил их в свою ветку release. Я запустил сборку, но она все равно не вытянула файлы lfs. Наконец, я удалил все содержимое папки s, которую конвейер использует во время работы, и снова запустил сборку. На этот раз все сработало как часы и правильно извлекло все файлы lfs.

Другие вопросы по теме